技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > real数据类型为什么只显示4位小数

real数据类型为什么只显示4位小数

郑志武 发布于2013-03-05 23:33 8 0 标签:

real数据类型为什么只显示4位小数?如图所示,dbd6和dbd40都是real类型。我是采用dbd6+dbd40所得的和再放入到dbd6然而dbd40有若干位小数,而相加后的和也就是dbd6只有4位小数,这样造成了很大误差,请问问题出现在哪里?如何将dbd6也设置为显示多位的小数?


图片说明: 1,1 2,11

佳答案

s7-300/400里的浮点数是符号ieee754标准的单精度浮点数,占4个字节,有效数字不可能很多,当一个比较大的浮点数加上一个比较小的浮点数就可能产生比较大的误差,所以浮点数计算的一个常识就是要避免大小悬殊的数相加,你这应该是属于不断的累加吧,如果是给你推荐一个算法
增加一个变量用于保存计算误差,比如是dbd100,那么计算过程如下
ld0=dbd40+dbd100把上一次的误差累加进去
ld4=dbd6+ld0这样当前累加量和上一次计算丢失的值都加进去
dbd100=ld4-dbd6+ld0计算一下本次累加误差丢失的值
dbd6=ld4更新当前累加值
这个算法的核心就在于,如果要加的数比较小,和大数相加会丢失数值,丢失的数值会和下一次的值累加,这样当达到一定的程度,就可以累加到大数里了

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签