您的位置:控制工程论坛网论坛 » PLC与PAC » 关于浮点数在存储器的保存形式问题!

jnzhlf

jnzhlf   |   当前状态:在线

总积分:2642  2025年可用积分:0

注册时间: 2006-12-25

最后登录时间: 2012-12-29

空间 发短消息加为好友

关于浮点数在存储器的保存形式问题!

jnzhlf  发表于 2008/10/10 22:53:54      665 查看 0 回复  [上一主题]  [下一主题]

手机阅读

一个浮点数为32位,占有2个字的存储空间。一个浮点数包括符号位(S),指数(e)和尾数(m),三者分别占有的位图如下所示:
指数(e)和尾数(m)的取值见下表:
REAL数据类型的值都可以表示成1.m×2^(e-bias)的形式,其中1≤e≤254,bias=127,S=0时为正值,S=1时为负值。
如12.25的表示方法如下:
S=0;
指数e=27+21=128+2=130;
尾数m=2-1+2-5=0.5+0.03125=0.53125;
浮点值=(1+m)×2^(e-bias)=(1+0.53125)×2^(130-127)=1.53125×8=12.25.
浮点数12.25的位图表示如下:

 

SIMENS PLC浮点数小数位数最多为6位,要避免两个相差大于107的浮点数运算,否则会出现不正常的结果,如10000000.0+1.0结果仍是10000000.0。
1楼 0 0 回复