位运算--与,或,异或,左移,右移
2017-05-16 15:03
141 查看
位运算:
是把数字用二进制表示之后,对每一位上0或者1的运算。
关于位运算的5种运算方式: 与,或,异或,左移,右移。
与,或,异或的运算规律
与(&) 0&0 = 0 1&0 = 0 0&1 = 0 1&1 = 1
或(|) 0|0 = 0 1|0 = 1 0|1 = 1 1|1 = 1
异或(^) 0^0 = 0 1^0 = 1 0^1 = 1 1^1 = 0
异或的记忆法:两者相等为0,不相等为1.
左移运算符: m<<n--表示把m左移n位。左移n位的时候,最左边的n位将被丢弃,同事在最右边补上n个0.
例如: 00001010<<2 = 00101000
右移运算符:m>>n表示把m右移n位,右移n位的时候,最右边的n位将被丢。
如果数字原先是一个正数,则右移之后在最左边补n个0,如果数字原先是负数,则右移之后在最左边补n个1。
例如: 00001010 >>2 = 00000010
10001010>>3 = 11110001
是把数字用二进制表示之后,对每一位上0或者1的运算。
关于位运算的5种运算方式: 与,或,异或,左移,右移。
与,或,异或的运算规律
与(&) 0&0 = 0 1&0 = 0 0&1 = 0 1&1 = 1
或(|) 0|0 = 0 1|0 = 1 0|1 = 1 1|1 = 1
异或(^) 0^0 = 0 1^0 = 1 0^1 = 1 1^1 = 0
异或的记忆法:两者相等为0,不相等为1.
左移运算符: m<<n--表示把m左移n位。左移n位的时候,最左边的n位将被丢弃,同事在最右边补上n个0.
例如: 00001010<<2 = 00101000
右移运算符:m>>n表示把m右移n位,右移n位的时候,最右边的n位将被丢。
如果数字原先是一个正数,则右移之后在最左边补n个0,如果数字原先是负数,则右移之后在最左边补n个1。
例如: 00001010 >>2 = 00000010
10001010>>3 = 11110001
相关文章推荐
- 异或运算的一些特性
- 在不借助第三方变量情况下实现两个变量的交换(借助于异或运算)
- p71 异或运算
- 两个数换位运算(不用第三变量)--异或
- HDU4801DP,异或运算,与运算,hash的应用
- Kademlia: 基于异或运算的P2P信息系统
- 按位与、或、异或等运算方法
- 按位与、或、异或等运算方法(转载)
- 大设计系列:异或运算
- 异或运算
- 按位与、或、异或等运算方法
- 按位与、或、异或等运算方法
- BUG修复:PaxScript没有异或运算的bug
- 异或运算实现两个整数的交换
- 使用异或运算实现两处内存的原地值交换
- 程序设计中利用“按位异或”运算交换两个变量的值原理
- [置顶] Java运算符 与(&)、非(~)、或(|)、异或(^)、移位运算
- 编写程序将两个等长文件按字节进行异或运算并将结果存放到第三个文件中
- 网络误区:不用中间变量交换2个变量的value,最高效的是异或运算.
- BP神经网络解决XOR异或运算python示例