/*
* 任意输入一个正整数 写两个函数功能 求其有效bit位数 进而统计其bit位为1的数量
*/
#include <stdio.h>
int bitnFunc(unsigned int value);
int checkOneBit(unsigned int value);
int main(void)
{
unsigned int num,ebit,n;
printf("输入一个正整数:");
scanf("%u",&num);
ebit=bitnFunc(num);
printf("%u 有效bit位数:%d\n",num,ebit);
n=checkOneBit(num);
printf("%u bit位为1的数量:%d\n",num,n);
return 0;
}
int bitnFunc(unsigned int value)
{
int count=0;
do{
count++;
value>>=1;
}while(value);
return count;
}
int checkOneBit(unsigned int value)
{
int n=0;
do{
//测试第一bit是否为1
if((value & 0x1)!=0)
{
n++;
}
value>>=1;
}while(value);
return n;
}
C语言 输入一个正整数 求其有效bit位数并统计其bit位为1的数量
最新推荐文章于 2024-09-04 15:05:27 发布