首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2012-03-24 
36.625如果定义成双字节,那么在内存中是什么样的?DATE1 DD 80000000H,36.625  书上是这样的:  ----- |00H|

36.625如果定义成双字节,那么在内存中是什么样的?
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?

[解决办法]

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

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

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

[解决办法]
[Quote=引用:]
是42128000,LZ可能看花眼了
还原一下试试:

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

101
……
[/Quote

正确!
[解决办法]
IEEE 754 有定义的。
自己搜索一下相关的资料吧。
[解决办法]
2楼解释的很清楚。给出几个常用的浮点数表示。
0.0:0000 0000
0.5:3F00 0000
1.0:3F80 0000

热点排行