爱问知识人 爱问教育 医院库

二进制

首页

二进制

二进制的小数位如何转为10进制,书上说乘二到小数位为零但是非5尾数的小数点比如:0.432永远乘不到小数尾数为0。请问如何计算?

提交回答
好评回答
  • 2006-09-25 21:23:15
    根据IEEE标准,小数位是有限的,所以按照书上的方法求二进制没有问题,比如小数位占9位的话,那么当二进制数小数部分达到9为的时候,那么剩下的部分就通过四舍或五入的方法取舍。因此小数十有一定精度的,精度越高说明表示小数的位数越多。即进行你说的那种运算的次数越多。

    毛***

    2006-09-25 21:23:15

其他答案

    2006-09-25 20:53:54
  •   如果一个数字用二进制表示为:
    ABCDEF。GHIJ
    则其十进制的值等于
    A * 2^5 + B * 2^4 + C * 2^3 + D * 2^2 + E * 2^1 + F * 2^0 +
    G + 2^(-1) + H * 2^(-2) + I * 2^(-3) + J * 2^(-4)
    依此类推。
       如二进制10。1001等于1 * 2^1 + 1 * 2^(-1) + 1 * 2^(-4),即2 + 0。5 + 0。0625 = 2。5625。 可以看到,所有以二进制精确表达的小数的小数位必定以5结尾。 如果要把十进制纯小数R的值表达为二进制,则需要这样运算: 1、n = 1 2、如果R = 2^(-n),则R = R - 2^(-n),二进制表达式的小数点后第n位为1。
       4、n自加1。 5、如果R != 0,回到2。 以0。432为例: 0。432 0。25                 0。01 0。432 - 0。25 = 0。182 > 0。125         0。011 0。182 - 0。
      125 = 0。057 0。03125                0。01101 0。057 - 0。03125 = 0。02575 > 0。015625     0。011011 0。02575 - 0。015625 = 0。010125 > 0。
      0078125   0。0110111 0。010125 - 0。0078125 = 0。0023125 0。001953125            0。011011101 。。。 。

    胜***

    2006-09-25 20:53:54

  • 2006-09-25 20:37:27
  • 所以计算机计算是有精度的,普通的使用不必关心,但科学计算就要特别考虑这个问题,差之毫厘,谬以千里。

    p***

    2006-09-25 20:37:27

  • 2006-09-25 20:12:45
  • 这个不会考你,考的大都数是可以乘到尾数是O的

    b***

    2006-09-25 20:12:45

类似问题

换一换
  • 汇编语言 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):