• 汇编语言十进制小数转换为二进制实数

    当十进制小数可以表示为形如 (1/2+1/4+1/8+…) 的分数之和时,发现与之对应的二进制实数就非常容易了。如下表所示,左列中的大多数分数不容易转换为二进制。不过,可以将它们写成第二列的形式。

    十进制分数 分解为… 二进制实数 十进制分数 分解为… 二进制实数
    1/2 1/2 .1 3/8 1/4+1/8 .011
    1/4 1/4 .01 1/16 1/16  .0001
    3/4 1/2+1/4 .11 3/16 1/8+1/16 .0011
    1/8 1/8 .001 5/16 1/4+1/16 .0101
    7/8 1/2+1/4+1/8 .111      

    很多实数,如 1/10(0.1)或 1/100(0.01),不能表示为有限位的二进制数,它们只能近似地表示为一组以 2 的幂为分母的分数之和。想想看,像 $39.95 这样的货币值受到了怎样的影响!

    使用二进制长除法

    当十进制数比较小的时候,将十进制分数转换为二进制的一个简单方法就是:先将分子与分母转换为二进制,再执行长除。例如,十进制数 0.5 表示为分数就是 5/10,那么十进制 5 等于二进制 0101,十进制 10 等于二进制 1010。执行了长除之后,商为二进制数 0.1:

更多...

加载中...