同时, 因为固定了位数, 不管你有没有小数, 都需要占用位数, 所以就导致在位数一定的情况下, 能够存储的最大值变小了.
2....浮点数
但是, 在正常使用的时候, 通常是不知道小数的确切位数, 怎么办呢? 科学记数法想必都不陌生 a*b^n, 浮点数其实就是根据它来, 其存储结构如下(64位):
?...再看
回顾了小数的保存之后, 再来回看之前的, 为什么浮点数最大值, 减去1之后, 本身没有任何变化呢?
要回答这个问题, 还需要知道两个浮点数在计算机中是如何进行计算的....可以看到, 在开始数字之间相差不大的时候, 结果还是正确的. 但是之后只是对同一个数字做了一次加减, 就导致发生其精度丢失了. 其原因同样是因为在计算中对指数部分统一导致的....同时, 因为浮点数能表示的范围比整数要大, 在转整数的时候, 也可能会造成丢失.
----
最终搞懂了这个看似奇怪的现象, 唉, 基础还是不够啊.