关于 x &= (x – 1) -c 言语学习笔记之一
来源:互联网 发布:linux mv命令 编辑:程序博客网 时间:2024/06/10 05:19
x &= (x – 1)可以删除x中最右边值为1 的一个二进制位
x-1,其实就是把x最右端的1变为0,1左边的其余位不变。
如: x=7
// x= 111
//x-1 后 x = 110
// x & x-1 = 110, --- 第一次
// x再次减一,即x-1 后 x =101
// x & x-1 = 100 ----第二次
// x-1 后 x= 011
// x & x-1 = 000 ----第三次
如上,三个即把三个二进制的1消去。
利用此特性,即可统计其整型参数的值为1的二进制位的个数。
方法如下:
int bitcount(unsigned x){int b;for (b = 0; x != 0; x &= (x - 1))b++;return b;}
0 0
- 关于 x &= (x – 1) -c 言语学习笔记之一
- 【cocos2d-x】cocos2d-x学习笔记之一
- C学习笔记4x=x+1.x++效率比较
- cocos2d-x学习之一
- 关于sin x = 1/x!-x/3!+x/5!-x/7!+……的c程序
- 关于x&(x-1)
- 关于x&(x-1)
- cocos2d-x 学习笔记(1)关于cocos2d-x(环境配置,项目结构,文件说明)
- Cocos2d-x学习之一 坐标系
- Cocos2d-x学习之一 坐标系
- Cocos2d-x学习之一 坐标系
- Struts1.X 学习笔记1
- 学习cocos2d-x笔记-1
- cocos2d-x 学习笔记1
- cocos2d-x 学习笔记1
- Cocos2d-x学习笔记1
- Cocos2d-x学习笔记1
- cocos2d-x学习笔记(1)
- 一杯咖啡的苦涩
- 类集框架笔记1
- 【Eclipse】性能优化器,让你的Eclipse飞起来!
- 码字必备:18 款优秀的 Markdown 写作工具
- 多列索引
- 关于 x &= (x – 1) -c 言语学习笔记之一
- C 回调函数
- 简单扑克牌游戏
- Bootstrap的aria-label和aria-labelledby
- 斯坦福机器学习课程笔记week4&5-神经网络
- 第九章(4)-事件访问器-学习笔记
- java21.IO操作------FileReader与FileWriter
- 微支付jsapi巨坑 微支付 jsapi java
- 欢迎使用CSDN-markdown编辑器