打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
反转一个字节和判断32位整数二进制中1的个数的算法-todototry的专栏-...

反转一个字节 和 判断32位整数二进制中1的个数 的算法 收藏
反转一个字节 和 判断32位整数二进制中1的个数 的算法
unsigned char reverse8( unsigned char c )
{
    c = ( c & 0x55 ) << 1 | ( c & 0xAA ) >> 1;
    c = ( c & 0x33 ) << 2 | ( c & 0xCC ) >> 2;
    c = ( c & 0x0F ) << 4 | ( c & 0xF0 ) >> 4;
    return c;
}

unsigned long func(unsigned long x)
{
    x = (x & 0x55555555UL) + ((x >> 1) & 0x55555555UL);
    x = (x & 0x33333333UL) + ((x >> 2) & 0x33333333UL);
    x = (x & 0x0f0f0f0fUL) + ((x >> 4) & 0x0f0f0f0fUL);
    x = (x & 0x00ff00ffUL) + ((x >> 8) & 0x00ff00ffUL);
    x = (x & 0x0000ffffUL) + ((x >> 16) & 0x0000ffffUL);
    return x;
}
 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/todototry/archive/2007/04/23/1575900.aspx

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
反转一个字节和判断32位整数二进制中1的个数等算法
位运算之美
每天一算法:「数学」位1的个数
计算机中的原码、反码和补码(转载)
【转】输入一个整数,求该整数的二进制中有多少位1
为什么char的范围是 —128~ 127
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服