恭喜,你发布的帖子
发布于 2023-01-09 00:20:51
27楼
花点时间认真学习下 IEEE754就不会纠结原理的事。浮点数加和我们算术上的加法类似,算术上是小数点对齐,浮点数是阶码对齐,阶码对齐就要移动小数点位置,如果移动的位置超过了24位(32位浮点数,2的24次方)就把该数字包含数值全部移除,加这个数就是加 0 。两个数相加不会累加就是两个数绝对值比值大于了2的24次方。当然不是说两个数比值小于2的24方就可以不考虑其他了,实际上只要移动小数点都有可能改变原来的值,但这时两个数相加和肯定比一个数要大。TIA帮助中说的小数点对齐是不准确的。
另外 1+1÷3=1。
这是把概念搞错了 1÷3=0 是整数除法,大多数计算机语言都会 1 , 3 这种常数看成整数类型处理
如果改成 1+1.0 ÷3,1+1.0 ÷3.0, 1+1÷3.0 表达式的结果又是什么。
在SCL语言中对于常数提倡提供具体类型 INT#1+REAL#1/REAL#3
请填写推广理由:
分享
只看
楼主