进制转换
10进制转2进制
此处计算,20 的 2 进制结果是 10100
连续除以 2,然后吧余数写到右边,知道除尽。在从下到上把2进制结果集读出来
2进制转10进制
此处计算,10100 的 10 进制结果是 20
将2进制的结果,从后到前排列,然后乘以 2 的 n 次方(n从0每次自增1)。最后把结果集相加。
0 * 2^0 = 0
0 * 2^1 = 0
1 * 2^2 = 4
0 * 2^3 = 0
1 * 2^4 = 16
然后将计算的结果,依次相加
16 + 0 + 4 + 0 +0 = 20
8进制转2进制
20 的 8进制 是 24
开始计算 8进制 数据 24 的 2进制
首先把 24 拆分成 2 和 4,然后分别计算 2进制结果
2 的 2进制 计算结果是:10
4 的 2进制 计算结果是:100
将2的2进制、4的2进制结果拼装起来
则 8进制 数据24 的 2进制 计算结果是:10100
10进制转8进制
此处计算,20 的 8 进制结果是 24
进制运算
20 的 2 进制结果是 10100
15 的 2 进制结果是 1111
加法运算
满2进1
减法运算
借1个等于2,然后运算
进制位运算
计算机中的数在内存中都是以二进制形式进行存储的,用位运算就是直接对整数在内存中的二进制位进行操作,因此其执行效率非常高,在程序中尽量使用位运算进行操作,这会大大提高程序的性能。
& 与运算 两个位都是 1 时,结果才为 1,否则为 0,如
1 0 0 1 1
1 1 0 0 1
------------------------------
1 0 0 0 1
| 或运算 两个位都是 0 时,结果才为 0,否则为 1,如
1 0 0 1 1
1 1 0 0 1
------------------------------
1 1 0 1 1
^ 异或运算,两个位相同则为 0,不同则为 1,如
1 0 0 1 1
1 1 0 0 1
-----------------------------
0 1 0 1 0
~ 取反运算,0 则变为 1,1 则变为 0,如
1 0 0 1 1
-----------------------------
0 1 1 0 0