C语言怎么输入一个unsigned long型整数
发布网友
发布时间:2022-07-03 15:50
我来回答
共2个回答
热心网友
时间:2023-11-10 06:54
是这个吧:
#include
"stdio.h"
BitCount(unsigned
int
a)
{
int
i,sum=0;
for(i=0;i<32;i++)
sum+=a>>i&1;//位操作,相当于取出a
的最后一个bit,整个循环就是统计a中1的bit数
return
sum;
//i<32,可以保证你输入的数够大,a<2^32!!
}
void
main()
{
unsigned
int
a;//可以在这修改a的类型~~
int
sum=0;
printf("输入a=:");
scanf("%d",&a);
sum=BitCount(a);
printf("1个数为::
%d
个!\n",sum);
}
结果例:a=255
==>
1个数为:8
个
热心网友
时间:2023-11-10 06:55
二。如果用指数来表示,那么最大值可表示为2的32次方减1。
比如,如果是两个二进位,2的2次等于4,那么最大值可表示为2的2次方减1:
00
=
0
01
=
1
10
=
2
11
=
3
一共可以表示4个值,最小的是0,最大的是3。
其中最大值3就是2的2次方减1。