以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  如何计算整数的二进制形式中1的个数  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=38860)


--  作者:jiaozi1216
--  发布时间:10/13/2006 3:24:00 PM

--  如何计算整数的二进制形式中1的个数
如何计算整数的二进制形式中1的个数,各位大哥帮帮忙
--  作者:longshentailang
--  发布时间:10/17/2006 6:05:00 PM

--  
你可以结合取整(即“/”操作)和模余(即“%”,VB下是mod操作符),来实现计算整数的二进制形式中1的个数。
--  作者:longshentailang
--  发布时间:10/19/2006 11:30:00 AM

--  
当然,如果你已知整数的二进制形式,那也可以通过循环移位的方法来达到统计其中1的个数的目的。
--  作者:windtoheart
--  发布时间:11/2/2006 5:37:00 PM

--  
哦,你可以在机械工业出版社出版的《高效程序的奥秘》中找到非常满意的答案,(美)Henry S.Warren,Jr 著,冯速 译 ,这本书可能偏底层一点,如果你有足够的耐心的话,可以看看……^_^
--  作者:bigc
--  发布时间:11/22/2006 3:17:00 PM

--  
yahoo笔试题,不是很会

a>128 + a&127>64 +a&63>32+a&17>16……


--  作者:flyfoxs
--  发布时间:11/27/2006 10:06:00 PM

--  
楼上的解法,好像限定了int的最大只能是255?

没有较好的扩展性


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
44.922ms