Python: Comparison of Float

Python中的floatint的大小比较相对于其他语言来说,实现上可能复杂一些。Python的float相当于C中的double,而Python的int实际上是由多个32位或64位整数拼接而成的高精度整数,其表示的精度和范围完全有可能比double类型更大。

显然,(1)将浮点数转换成整数进行比较是不可行的,那样会丢失精度;而(2)Python中的整数是高精度整数,在内存足够大的情况下可以非常大,远大于double所能表示的范围;并且(3)C的long有63位精度,而double仅有53位,因此也不能仅因转换后的比较结果相等就判定转换前的数值也相等。

继续阅读Python: Comparison of Float