二进制和十进制的转换

其他进制转十进制(此处以二进制为例)

任意进制的数字转十进制:
若基数为B,对于数字 anan-1\dotsa2a1a0a-1a-2,转换公式为:
N = an×\timesBn + an-1×\timesBn-1 + \dots + a2×\timesB2 + a1×\timesB1 + a0×\timesB0 + a-2×\timesB-1 + a-2×\timesB-2

  • 二进制转十进制:
    (101010.01)2 = 25 + 23 + 21 + 2-2= (42.25)10

十进制转其他进制(此处以二进制为例)

当十进制数转其他进制时,整数部分和小数部分的规则不同

  • 十进制整数转二进制整数
    例如求(57)10的二进制表示:
    二进制和十进制的转换
    对(57)10连除基数2,直到商为零为止。过程中若有余数,则写在对应行的右列。最后从下往上排列数字,得到最终的二进制表示。

  • 十进制小数转二进制小数
    例如求(0.875)10的二进制表示:
    二进制和十进制的转换
    (0.875)10 = (0.111)2

    对(0.875)~10连乘基数2,直到最终结果等于1为止。在每一步中,如果结果大于1,则减去1,并在右列记上1;如果结果小于1,则在右列记上0。最后从上往下排列数字,并加上整数位0和小数点。

在计算机中,(0.1)10是无法精确表示的,因为(0.1)10的二进制表示为无限循环