位运算
2020-05-10 本文已影响0人
symBoy
二进制转换
1.二进制转十进制
二进制数:0110 0100 转十进制:
第0位 0 * 2的0次幂 = 0
第1位 0 * 2的1次幂 = 0
第2位 1 * 2的2次幂 = 4
第3位 0 * 2的3次幂 = 0
第4位 0 * 2的4次幂 = 0
第5位 1 * 2的5次幂 = 32
第6位 1 * 2的6次幂 = 64
第7位 0 * 2的7次幂 = 0
按位与(&)
1001100
& 0110100
结果:0000100
同时为1时结果为1 ,否则为0
按位或(|)
1001100
| 0110100
结果:1111100
两个相应的二进位中只要有一个为1,该位的结果值为1,否则为0
按位异或(^)
1001100
^ 0110100
结果:1111000
两个相应的二进位中不同为1,相同为0
按位取反(~)
~1001100
结果:0110011
0变1,1变0
左移操作(<<)
1001100
<< 1
结果:10011000
将一个数左移一位相当于把这个数翻倍
右移操作(>>)
1001100
>> 1
结果:0100110
将一个数右移一位相当于把这个数除以二