进制互转

进制互转

  • 我们一般使用次方列的时候,十进制不超过 255 我们用:
    128 64 32 16 8 4 2 1,
    如果超过了,我们就在128前补 256
    我们用 138和433 这两个十进制数,做测试

十进制转二进制

256   128   64   32   16   8   4   2   1        --次方列

要点,把十进制数按照从大到小开始相减,用余数减下一个,能减就是1,不能减就是0,例如:
433-256 = 177 ,177 - 128 = 49, 49 不能减64 所以为0,依次类推算出值
1 1 0 1 1 0 0 0 1


二进制转十进制

128   64   32   16   8   4   2   1        --次方列

1 0 0 0 1 0 1 0       --二进制

要点,把所有二进制为1的对应的数 * 2(n的次方),例如
2^1 + 2 ^3 + 2^7 = 138


二进制转八进制

128   64   32   16   8   4   2   1        --次方列

1 0 0 0 1 0 1 0       --二进制

转换八进制要点,二进制从右往左开始,每三位逗号隔开,例如

1 0 , 0 0 1 , 0 1 0

然后从右往左开始计算2的次方,遇到逗号就重新开始算次方,例如:
0×2^0 + 1×2^1 + 0×2^2 = 2
1×2^0 + 0×2^1 + 0×2^2 = 1
0×2^0 + 1×2^1 = 2
得:212,就是138 的八进制


八进制转十进制

128   64   32   16   8   4   2   1        --次方列

转换要点,和二进制换十进制一样,从右往左,2乘以8的n次方
2 × 8^0  + 1 × 8^1  +  2 × 8^2   =   2+8+128 = 138


八进制转二进制

128   64   32   16   8   4   2   1        --次方列

八进制,数字是0,1,2,3,4,5,6,7,最大到7,
要点一分三,从右往左,跟十进制转二进制很像,例如: 
212是八进制,421是次方列的后三位

4 2 1       2
0 1 0,   2不能减4,找下一个2有了就补1
4 2 1       1
0 0 1,   1不能减4,1不能减2,找到1可以减,就补1
4 2 1       2
0 1 0,   2不能减4,找下一个2有了就补1

把上面的二进制拼在一起就是二进制,例如:010001010


十六进制

十六进制转换跟八进制一样,区别在于十六进制的逗号分割点在,从右往左每四位分隔一次,
还有就是数字上的区别,十六进制是0,1,2,3,4,5,6,7,8,9,超过9的我们用字母表示,
例如:
10 = A , 11 = B,12 = C,依次类推,例如:
8 D = 8 13

posted @ 2023-03-31 13:13  赊月  阅读(203)  评论(0编辑  收藏  举报