首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

计算一个无符号整数的二进构图示中1的个数

2012-12-25 
计算一个无符号整数的二进制表示中1的个数计算一个无符号整数的二进制表示中1的个数,这个问题又被称作Hamm

计算一个无符号整数的二进制表示中1的个数
计算一个无符号整数的二进制表示中1的个数,这个问题又被称作Hamming weight
Java中有支持的API:
Integer.bitCount
Long.bitCount

    public static int bitCount(int i) {        // HD, Figure 5-2i = i - ((i >>> 1) & 0x55555555);i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);i = (i + (i >>> 4)) & 0x0f0f0f0f;i = i + (i >>> 8);i = i + (i >>> 16);return i & 0x3f;    }


http://stackoverflow.com/questions/1458314/number-of-1s-in-32-bit-number
http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel
http://aggregate.ee.engr.uky.edu/MAGIC/#Population%20Count%20%28Ones%20Count%29

热点排行