相同的方程但不同的答案

The*_*ker 2 math computer-science calculator

我在计算器上计算某个值X,并且我进行计算的顺序产生不同的答案.有人可以赐教,至于为什么会这样吗?

情况1:X =(730*4800)/ 1024 = 3421

情况2:X = 730*(4800/1024)= 2920

  • CASE 1实际上更接近于期望的结果.
  • 案例2中的准确性似乎有所下降......?

Ma3*_*a3x 5

在这两种情况下,执行整数除法而不是正常(浮点)除法.

整数除法是除法,其中小数部分(余数)被丢弃.

例如,在案例2中,对(4800/1024)执行整数除法,结果为4(而不是4.6875).从那里乘法导致730*4 = 2920.

我不确定您使用的是哪个计算器,但通常当您想要避免整数除法时,您可以使用浮点数.在你的情况下1024.0.现在,如果这是特定编程语言的一部分,则可能必须使用其他符号,例如1024.0f(float)1024.

要强制浮点除法,您需要将计算更改为

情况1:

X = (730 * 4800)/1024.0 = 3421.875
Run Code Online (Sandbox Code Playgroud)

案例2:

X = 730 * (4800/1024.0) = 3421.875
Run Code Online (Sandbox Code Playgroud)