大多数电脑都是用二进制来表示浮点和整数的。
在十进制里, 0.1 是个简单、精确的小数,
但是用二进制表示起来却是个循环小数0.0001100110011 . . . 。
所以 3.1 在十进制内可以准确地表达, 而在二进制下不能。在对一些二进制中无法精确表示的小数进行赋值或读入再输出时,
也就是从十进制转成二进制再转回十进制, 你会观察到数值的不一致。
这是由于编译器二进 制/十进制转换例程的精确度引起的,
这些例程也用在printf 中。
参见问题14.6。
x