这里介绍的方法是按照二进制与十进制的换算关系计算。我们可以根据幂运算得到位的对应关系。
- (binary) 1 = 20 = 1
- (binary) 10 = 21 = 2
- (binary) 100 = 22 = 4
- (binary) 1000 = 23 = 8
- (binary) 10000 = 24 = 16
- (binary) 100000 = 25 = 32
- (binary) 1000000 = 26 = 64
- (binary) 10000000 = 27 = 128
- (binary) 100000000 = 28 = 256
- . . . .
| 2^10 | 2^9 | 2^8 | 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 147 | ||||||||||
| -877 | -365 | -109 | 19 | 83 | 115 | 131 | 139 | 143 | 145 | 146 |
| -45 | -13 | 3 | 11 | 15 | 17 | 18 | ||||
| -5 | -1 | 1 | 2 | |||||||
| 0 | ||||||||||
| 1 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
比如,我们要把147转换为二进制,那么我们用147依次减去1024、512、256、128、…、1。很明显,减去128是第一个够减的,得到19,那么对19再重复上面的操作,减去1024、512、256、128、…、1。又得到第一个非负值。直到结果为0为止。
那么,得到非负的位为1,其余的位为0。则147对应的二进制是10010011。Excel中,十进制转换为二进制的函数是
`=DEC2BIN()`
相应的,如果要把10010011转换成十进制,只需要将对应的位上的数相加,即
128+16+2+1=147
用Excel计算二进制转十进制的函数
`=BIN2DEC()`
发表评论