В числе сосчитать количество нулевых битов расположенных строго между единичными — C++(Си)

#include <stdio.h>
int main()
{
	long num;
	int i,res = 0;
	printf("Enter number:");
	scanf("%ld",&num);
	for(i = 0;i < sizeof(num) * 8 - 3;i++)
		if((num & (7 >> i))/*маска*/ == 6/*101b*/)
			res++;
	printf("Result: %d\n", res);
	return(0);
}

Leave a Comment