结果显示, 两个数字完全一样, 这这这, 不行, 我得去回顾一下浮点数的表示.
小数的存储
如果要存储小数, 一般来说又两种保存方式.
1. 固定位数
将小数进行放大, 进行整数化, 然后保存整数....如果固定知道是两位小数的话, 那么将小数乘以100, 就得到了一个对应的整数.
这种方式的前提是需要确切的知道小数的位数, 但是好在精度高, 在运算的时候不会造成误差. 比较适合保存金额等....基数: 规定基数是一个大于等于1, 小于2的数字, 也就是基数前面有一个隐含的默认1, 基数标识小数点后面的内容
那么问题来了, 基数隐含了一个默认的1, 那浮点数如何表示0呢?...再看
回顾了小数的保存之后, 再来回看之前的, 为什么浮点数最大值, 减去1之后, 本身没有任何变化呢?
要回答这个问题, 还需要知道两个浮点数在计算机中是如何进行计算的....可以看到, 在开始数字之间相差不大的时候, 结果还是正确的. 但是之后只是对同一个数字做了一次加减, 就导致发生其精度丢失了. 其原因同样是因为在计算中对指数部分统一导致的.