请问,为什么两个浮点数1.1和2.2相加的结果会是3.3000002
发布网友
发布时间:2023-12-05 03:04
我来回答
共1个回答
热心网友
时间:2023-12-17 04:06
你需要了解一下浮点数的精度问题……十进制的1.1、2.2都是没法用二进制精确表示的。
十进制1.1对应的二进制是00111111100011001100110011001101
十进制2.2对应的二进制是01000000000011001100110011001101
二者进行加法运算时,1.1需要升阶,尾数右移。由于尾数末位为1,因此相加后的结果01000000010100110011001100110011还需要在尾数末位加1,于是执行加法运算后的结果为01000000010100110011001100110100,换算为十进制约为3.3000002。