二进制与十进制的转换
两者间最简单的转换方式就如同前面那样, 列出一个表格, 一一对应, 然后查这个表就能转换了.
0000=0
0001=1
0010=2
0011=3
0100=4
0101=5
0110=6
0111=7
1000=8
1001=9
但是对于任意长度的两个数来说, 这种方式就不太现实了. 下面说下通用的转换方式.
二进制转十进制
不同位上的数字的差别在于其权重的不同. 对于一个十进制的数, 比如 9527 而言, 它的实质是:
9×103+5×102+2×101+7×100=9000+500+20+7=9527
二进制与十进制的差别在于它是以 2 为底的, 而不是 10.
对于十进制, 各个位上的权重, 从左到右, 从高到低分别是:
... 10000, 1000, 100, 10, 1
对于二进制, 各个位上的权重, 从左到右, 从高到低分别是:
... 16, 8, 4, 2, 1
对于一个二进制数, 比如 101, 它对应的十进制数为:
1×22+0×21+1×20=4+0+1=5
所以1012=510.
下标为相应进制.
也即是二进制的 101 相当于十进制的 5.
又如 1010 来说, 它对应的十进制数为:
1×23+0×22+1×21+0×20=8+0+2+0=10
所以10102=1010.
十进制转二进制
而对于十进制到二进制的转换, 则通过反复对 2 整除直到商为 0, 然后取对应余数来获取. 比如以 12 为例:
那么我们有:1210=11002
反过来也很容易验证, 1100, 四个位, 权重分别是 8, 4, 2, 1, 只有最高两位是 1, 所以结果就是 8 + 4 = 12.