浮点数运算丢失精度
今天碰到了这样一个情况, 使我又去翻阅了原来课本, 在Pthon中如果输入下面这段程序:
print(sys.float_info.max - 1.0)
print(sys.float_info.max...基数: 规定基数是一个大于等于1, 小于2的数字, 也就是基数前面有一个隐含的默认1, 基数标识小数点后面的内容
那么问题来了, 基数隐含了一个默认的1, 那浮点数如何表示0呢?...在两个浮点数进行运算的时候, 要先将指数部分保持一致, 然后再进行相应的运算, 也就是说:
1.0*10^4 + 1.0*10^2 要转换成: 1.0*10^4 + 0.01*10^4
如此, 上面的最大值..., 其指数部分为 2^1023....如此说来, 浮点数的指数在进行转换的时候, 岂不是很容易丢失精度?