进制间转换


什么是进制

二进制: 以数字0-1来表示每一个自然数,逢2进1。
八进制: 以数字0-7来表示每一个自然数,逢8进1。
十进制: 以数字0-9来表示每一个自然数,逢10进1。
十六进制: 以数字0-9,a-f来表示每一个自然数,逢16进1。


进制的转换

  1. 十进制转其他进制
    辗转相除法: 用数字除进制,再用商除进制,一直到商为零结束,最后将每一步得到的余数倒着连接以来,就是这个数字的指定的进制表示形式。


    进制间转换_第1张图片
    十进制转二进制,八进制,十六进制
     18 = 0b10010 = 022 = 0x12
    
  2. 其他进制转十进制
    每一位的数字乘进制的位数-1次方,再将所有的结果累加到一起。

0b10010 = 1 x 2^4^ + 1 x 2^1^ = 16 + 2 = 18
022 = 2 x 8^1^ + 2 x 8^0^ = 16 + 2 = 18
0x12 = 1 x 16^1^ + 2 x 16^0^ = 16 + 2 = 18

3.二进制与八进制,十六进制的相互转换
每一个八进制位可以等价替换成三个二进制位。
注意:
(1)划分从右到左进行,如果二进制数的左边不够三位,直接在高位补零凑齐三位


进制间转换_第2张图片
二进制和八进制的相互转换

(2)当八进制数转成二进制数时,将上述过程反转,有一点要记住,每一个八进制的数必须对应三位二进制位.


进制间转换_第3张图片
位数不够用零来凑

如果八进制数在转化时得到的二进制数不够三位,直接在最左边用零补齐.


进制间转换_第4张图片
八进制转二进制一位变三位

每一个十六进制位可以等价替换成四个二进制位。
跟二进制与八进制的转化规则类似,同样的如果位数不够要用零凑


进制间转换_第5张图片
十六进制转二进制

原理

三位二进制数能表达最大数为7,八进制一位能表达最大数也为7正好是2的3次方减一所以正好能用二进制三位数表示八进制一位。十六进制同理是2的四次方减一正好可以用二进制四位数表示十六进制一位数。

进制间转化技巧

进制间转换_第6张图片
观察规律

从上图中得的规律使我们能在十进制和不同进制间快速转化
例:十进制264转二进制

264=256+8
256=ob 10000 0000
8=0b 1000
相加即可得到
256=0b 10000 1000

其他进制同理

你可能感兴趣的:(进制间转换)