二进制与十进制的转换

两者间最简单的转换方式就如同前面那样, 列出一个表格, 一一对应, 然后查这个表就能转换了.

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 为例:

十进制转二进制 decimal to binary

那么我们有:1210=11002

反过来也很容易验证, 1100, 四个位, 权重分别是 8, 4, 2, 1, 只有最高两位是 1, 所以结果就是 8 + 4 = 12.

results matching ""

    No results matching ""