bit 的 一些有用的操作
2009-11-03 20:31
239 查看
ALL_BITS 是所有的位都为1
A: 1000 0010
B: 1100 1100
1.对A的所有位取反
ALL_BITS ^ A
2.将A的第bit位(最右边是第0位)设置为1
A |= 1 << bit 例如bit=3 则1<<bit=1000 则A|1000=1000 1010
3.将A的第bit位清0
A &= ~(1 << bit) 例如bit=1 则~(1<<bit)=1101 则A&1101=1000 0000
4.测试第bit位是否为0
(A & 1 << bit) != 0
5.除了A的最低位的第一个1,其余全部清0
x
& ~(x - 1)
6.一个数是2的指数幂当且仅当只有一个bit是1
7.a<<b : 当b>=a所占比特数的时候,C99说,结果是未定义的,这个行为同样适用于Java 和 C#
A: 1000 0010
B: 1100 1100
1.对A的所有位取反
ALL_BITS ^ A
2.将A的第bit位(最右边是第0位)设置为1
A |= 1 << bit 例如bit=3 则1<<bit=1000 则A|1000=1000 1010
3.将A的第bit位清0
A &= ~(1 << bit) 例如bit=1 则~(1<<bit)=1101 则A&1101=1000 0000
4.测试第bit位是否为0
(A & 1 << bit) != 0
5.除了A的最低位的第一个1,其余全部清0
x
& ~(x - 1)
6.一个数是2的指数幂当且仅当只有一个bit是1
7.a<<b : 当b>=a所占比特数的时候,C99说,结果是未定义的,这个行为同样适用于Java 和 C#
相关文章推荐
- Linux一些有用的操作
- 一些有用的WINDOWS操作技巧
- 一些有用的操作,关于gnome,kde等
- ofstream ifstream 文件操作及一些有用的函数
- python学习笔记: 一些有用的文件操作函数
- vim 一些有用的删除操作
- 一些Linux有用的操作命令记录
- 虚拟机骚操作·Ubuntu16.04和UbuntuKylin16.04使用感受以及黑屏问题·Ubuntu下搜狗拼音输入法的n种问题AND推荐一些重装时的有用的一些问题链接
- 一些有关C++语言中的bit操作
- 一些比较有用的SQL操作,2011最新整理
- 一些有关C++语言中的bit操作
- 一些有关C++语言中的bit操作
- 一些有用的日历操作
- git的一些有用操作
- 一些有关C++语言中的bit操作
- 一些比较有用的SQL操作,2011最新整理,SQL批量删除与批量插入,批量删除一些比较有用的SQL操作,2011最新整理,SQL批量删除与批量插入,批量删除
- 关于PHP中操作MySQL数据库的一些要注意的问题
- 记录一些Java操作OpenXML的方式
- Windows: 关于IE插件的一些有用信息
- Kotlin中的一些技巧与迂回操作分享