结果显示, 两个数字完全一样, 这这这, 不行, 我得去回顾一下浮点数的表示.
小数的存储
如果要存储小数, 一般来说又两种保存方式.
1. 固定位数
将小数进行放大, 进行整数化, 然后保存整数....基数: 规定基数是一个大于等于1, 小于2的数字, 也就是基数前面有一个隐含的默认1, 基数标识小数点后面的内容
那么问题来了, 基数隐含了一个默认的1, 那浮点数如何表示0呢?...同时, 因为位数的限制, 并不能保存无穷大的数字, 包括无限小数, 就比如0.1
简单回顾一下, 足够解释今天的奇怪现象了....所以, 要将浮点数1.0进行转换, 而这个数字要想转换成相同指数的话, 其基数部分就要后移1023位, 导致溢出, 就变成0了. 所以就相当于和0做运算, 其结果不变....同时, 因为浮点数能表示的范围比整数要大, 在转整数的时候, 也可能会造成丢失.
----
最终搞懂了这个看似奇怪的现象, 唉, 基础还是不够啊.