c语言求助吧

浮点数在十进制下不精确而已洳下图伪代码所示:


在图中,12.1 与 0.9 不能在二进制下被精确表示因此系统会寻找最接近给定的十进制数的二进制浮点数来代替,即显示的 12.0999… 與 0.9000…二进制如下:

第六行是人工计算的两个近似值的和,即上面两个二进制数的和显而易见,两者的和因超过了 double 的精度而无法表达於是系统会寻找一个最接近计算所得二进制数的浮点数,即 13.0赋给 int 截断后就是你看到的 13。b 会显示 9 而不是 10 也是同样的道理

我要回帖

更多关于 求助吧 的文章

 

随机推荐