进制转换的那些事儿
1. 二进制转十进制
大家好,我们熟知的二进制转十进制可以采用位权法来实现转换,今天我要分享一种更加简便的方法来实现我们的二进制转换。
首先,我们写出1,2,4,8,16,32,64,128,256,512,1024…作为对照,例如二进制1010110转换为十进制从左向右依次对照至上面那排数组,
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
0 | 1 | 1 | 0 | 1 | 0 | 1 |
即:2+4+16+64=86
这样,我们一个简单地二进制转换为十进制就完成啦!是不是灰常简单呢。
那么同理我们也可以通过这种方法来将十进制换成为二进制
例如86我们怎么转换回去呢,还是一样的写出我们的对照表
1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
0 | 1 | 1 | 0 | 1 | 0 | 1 |
因为86不可能大于128,所以只能在64,所以64下面就写上1,86-64=22,22又不在32的范围内,所以32写上0,同理,16在22范围内,写上1,22-16=6,依次类推,就得到了上面的对照表,那么我们应该从左往右将它写出来就是我们的二进制数啦。这种简便方法是不是特别的简单呢?但是我们还是的记住他的原理哦,才能写出他的简便方法,节约我们的时间。
1. 二进制转十六进制
二进制转十六进制我们用到了8421法则,当然啦跟上面的方法是差不多的,都是利用其原理。
例如1010110转换为十六进制。
首先,拆分二进制数组四个四个拆分,像1010110前四个不足四个的用0补足,即0101,0110
第二步,写出数组
8 | 4 | 2 | 1 |
0 | 1 | 0 | 1 |
结果就是4+1=5
8 | 4 | 2 | 1 |
0 | 1 | 1 | 0 |
结果就是4+2=6
最终转换为十六进制就是56
同理十六进制转换成为二进制也是一样,例如十六进制数56,
第一步拆分5 ,6
先是5
8 | 4 | 2 | 1 |
0 | 1 | 0 | 1 |
5只可能在4,5-4位1,所以2为0,1写1.
同理6
8 | 4 | 2 | 1 |
0 | 1 | 1 | 0 |
4-2为2,2-2为0,所以1就落在4和2 下面。
那么最后我们将两个结果组合起来就是01010110,第一个0可以省略,答案就是1010110.
以上就是我今天分享的两个进制转换小技巧罗,喜欢的小伙伴可以互相关注哦。