[紧急]:请问,在C语言中如何计算出int 型中bit位为“1”的个数。。。谢谢!!~===============

yngaocn 2006-02-24 08:42:35
现在在写一段程序,要计算int 型中 bit 位为“1”的个数。。。不知道该怎么解决~~~

例如: int a = 3

即 00000000 00000011 ,bit位为 2
-------------------
int b = 7

即 00000000 00000111 ,bit位为 3

本来想到用左移右移指令的,但不知道移动后的“1”被移到哪去了。。。

所以向大家请教。。。有没有更好的方法。。。

谢谢!~~~~
...全文
462 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Juchiyufei 2006-03-22
  • 打赏
  • 举报
回复
llf_hust() ( ) 信誉:89


你好强呀,

今年贵庚呀?
yngaocn 2006-02-24
  • 打赏
  • 举报
回复
问题解决,结贴~!
yngaocn 2006-02-24
  • 打赏
  • 举报
回复
不错。谢谢~~~~
llf_hust 2006-02-24
  • 打赏
  • 举报
回复
#include "stdio.h"
int Count(int n)
{
int nCount;
nCount = 0;
while( n != 0 )
{
n &= (n - 1);
nCount++;
}
return nCount;
}

int main()
{
int a = 3;
int nCount;
nCount = Count(a);
printf("%d", nCount);
return 0;
}

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧