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