1.十进制 二进制转换 规则
1.1 二进制转10进制
从二进制数的最右边(最低位)开始。
对于每个位,将其乘以2的幂,幂的值根据位的位置而增加。
将每个位的乘积相加,得到最终的十进制数。
举个例子,将二进制数1011转换为十进制数:
1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0
= 8 + 0 + 2 + 1
= 11
1.2 十进制转2进制
从十进制数的最右边一位开始,不断地除以2,记录每次的余数(0或1)。
将得到的余数从下往上依次排列,得到的就是对应的二进制数。
例如,将十进制数 25 转换为二进制数:
25 ÷ 2 = 12 余 1
12 ÷ 2 = 6 余 0
6 ÷ 2 = 3 余 0
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1
2.位移 (用于将一个二进制数向右/左移动指定的位数)
2.1 >> 公式 : a >> b = a / ( 2 ^ b )
2.2 << 公式 : a >> b = a * ( 2 ^ b )
a = 10
a >> 2
1 0 1 0
>> 2
---------------------------
0 0 1 0
a = 2
公式 :
a = 10 / (2 * 2 )
a = 10 / 4
a = 2
3.~ 位取反
3.1有符号整数 ~a = -a - 1
3.2无符号整数 ~a = -(a +1)
4.位异或 ^
如果两个相应的二进制位不同,则结果为 1,否则为 0。
5.位与运算符(&)
-
如果两个对应位都是1,则结果位为1。
-
如果至少有一个对应位是0,则结果位为0。
6.位或运算符(|)
-
如果两个对应位都是0,则结果位为0。
-
如果至少有一个对应位是1,则结果位为1。