+ -
当前位置:首页 → 问答吧 → 36.625如果定义成双字节,那么在内存中是什么样的?

36.625如果定义成双字节,那么在内存中是什么样的?

时间:2011-11-25

来源:互联网

DATE1 DD 80000000H,36.625  

书上是这样的:
  -----
 |00H|
 |00H|
 |00H|
 |80H|
 |00H|
 |80H|
 |12H|
 |24H|
  -----
十进制的 36.625 的十六进制为 24.AH,怎么存成了 24H,12H,80H,00H?
如果把  36.625 定义成字类型,是不是 24H,0AH?

作者: mustmust   发布时间: 2011-11-25


    是42128000,LZ可能看花眼了
    还原一下试试:

    42128000 == 
    0   10000100  00100101000000000000000
    ↓    ↓          ↓
    正数  阶码        尾数
         ↓转换回来      ↓(前面加隐含的1.)即
     10000100-1111111   1.00100101000000000000000
         ↓
        101
         ↓
         5(十进制)

    综合上面可知,这个数的二进制形式就是:
    1.00100101000000000000000 ×2的5次方
    由上式,将小数点向后移动5位,这个数的二进制值是:
         100100.101
          ↓  ↓      
    十进制是: 36  5/8

作者: gsy999   发布时间: 2011-11-25