问题:real类型数据加到65536就加不上去了
回答:

real类型数据加到65536+0.03就加不上去了.这是这个数据类型的问题,建议运算用lreal类型.下面解释为什么出现这个问题

real = float范围是“-3.4E+38 ~ 3.4E+38”。FLOAT数据类型用于存储单精度浮点数或双精度浮点数;浮点数使用 IEEE格式。浮点类型的单精度值具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。

real的尾随位是23位,那么他能显示24位的数据 = 2进制的整数位+ 2进制的小数位

例如

65536.003 = 10000000000000000.000000001100010010

整数位是16位,小数位是9位,超过了24位,则会抹去

65536.004 = 10000000000000000.000000010000011000

整数位是16位,小数位是8位,没有超过24位,则会保留

小数位换算二进制工具

http://www.youkud.com/tool/jinzhi/index.html





数据维护:冯国城
编辑时间:14 6月 2022

如果此回答有不清楚或错误的地方,请扫描页面底部二维码添加微信公众号与我们联系,我们努力给您满意的答复。