导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请问,浮点数用汇编是怎样表示的?例如124.75[sdqdhx]

 *第13450篇: 请问,浮点数用汇编是怎样表示的?例如124.75

  
楼 主:sdqdhx 2003年6月14日09:29
 请问,浮点数用汇编是怎样表示的?例如124.75
  
2楼:yangjl 2003年6月14日10:15
 浮点数在汇编语言里一般少用,把它化为整数进行处理,比较方便。
  
3楼:alvinyang 2003年6月14日13:59
 na
  
4楼:alvinyang 2003年6月14日14:00
 那不就丧失精度了吗?
拜托
  
5楼:alvinyang 2003年6月14日13:52
 这种资料啊
这种资料网上简直铺天盖地 你难道没有发现?
  
6楼:sdqdhx 2003年6月20日19:16
 答案
这个问题我已经解决,我把方法写出来供大家参考:
浮点数占用四个字节,在内存中的格式如下:

SEEEEEEE     EMMMMMMM     MMMMMMMM    MMMMMMMM 。

      高位------------------------------------------à低位

 

由高到底一共有32位。S为符号位,在最高位占一位。“1”表示负,“0”表示负。E为阶码,占用8位,阶码E值是以2为底的指数再加上偏移量127,这样处理的目的是为避免出现负的阶码值[小注1]。M为尾数的小数部分,用23位二进制表示。

第一步:

124.75D=1111100.11B,转换方法为:整数部分直接转换,小数部分则乘2取整,得到上面结果。

第二步:

1111100.11B=1.11110011*2E6B,计算方法为:将结果的小数点向右6次得到初值。注意:尾数的整数部分永远为1,因此不予保存,但它是隐含的。

第三步:

尾数为11110011,指数为6,(整数部分不予保留)。根据C51的规则,指数要加127,所以指数应为6+127=133D=10000101B,组合起来就是:01000010 11111001 10000000 00000000  (42 F9 80 00)

计算结束。

小注1:因为阶码是可正可负,其范围从-126----------127,在这里如果再出现负值表示起来颇为不便 ,所以,人们为了表示上的方便,特意做了处理。让实际的值加上127,这样就能保证是大于0的值。


至于小注是我自已想的可能不对,可能还有别的原因。


  
7楼:alvinyang 2003年6月23日09:26
 那51中的指数部分不加127吗?
  
8楼:guest 2003年6月14日14:19
 如果你需要浮点子程序找
如果你需要汇编浮点子程序,到这里找阳光使者
 


>>>>>>对该主题发表你的看法

本主题贴数8,分页: [第1页]


[上一篇主题]:那位仁兄有SLE4442卡的资料,

[下一篇主题]:我的 3DG7F三极管怎么会高电平导通?难道不是PNP型的管子?我可是在PNP测试插座上测