转载网址:https://zhuanlan.zhihu.com/p/29768999
一般方法(对于小的数字):
高端方法:十进制转二进制
0——(0)₂
1——(1)₂
2——(10)₂
3——(11)₂
4——(100)₂
5——(101)₂
6——(110)₂
7——(111)₂
8——(1000)₂
9——(1001)₂
遵循原则是“错两位加,末尾添 0,加下一位”。
示例:43046721
先从最高位开始,4 转化为 (100)₂,然后开始粗体字的步骤。
错两位加 将该二进制数在上下两行各写一次,在下一行的缩进两位数的位置,然后相加:
末尾添 0 将结果尾数后面添 0:
加下一位 将十进制的下一位数转换成二进制,然后加入结果中:
同样,我们重复这些步骤,直到最后一位被加进去:
那么,我们最后得到的结果为:
即 43046721=(10100100001101011101000001)₂。
二进制转十进制
遵循原则是“留末位,高位减”。
示例:(11111010000111000)₂
留末位 给二进制最后一位做上标记,以防做减法时误参与:
高位减 从最高位开始,看在该位及以前的部分,是否够 101 减,如果够,在其正下方记为 1,并且在上方减掉;如果不能,则只记为 0,依次处理:
最后算到倒数第二位(末位做了标记,不能做减法)时,留下剩余数字:
再操作一次,我们得到: