计算机是先对运算中的数字进行四舍五入还是对结果进行四舍五入?

问题描述 投票:0回答:2

例如,在9.4-9.0-0.4版中:计算机是先将每个数字四舍五入并存储,还是借助一些额外的位(此示例为双精度格式)进行计算,然后将结果四舍五入?这些是存储的值,但是不确定如何手工执行此操作以检查是否先舍入每个数字。

binary(9.4)= 0 10000000010 00101100110011001100110011001100110011001100110011001101

二进制(-9.0)= 110000000010 0010000000000000000000000000000000000000000000000000000000000000

binary(-0.4)= 1 01111111101 1001100110011001100110011001100110011001100110011010

二进制(9.4-9.0-0.4)= 0 01111001100 0000000000000000000000000000000000000000000000000000000000

math floating-point ieee-754
2个回答
-1
投票
这取决于所使用的语言,但是大多数(如果不是全部的话)应该将结果取整。

0
投票
某些程序或某些机器可能使用额外的精度来获得中间结果。这取决于许多因素:可用的硬件,使用的编程语言,使用的编译器,传递给编译器的选项等。例如,为Intel CPU编译的程序有时可能使用80位中间结果的精度,如果将它们编译为使用x87 instructions
© www.soinside.com 2019 - 2024. All rights reserved.