1. 变量声明及调用技巧

1.5. 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