The*_*ker 2 math computer-science calculator
我在计算器上计算某个值X,并且我进行计算的顺序产生不同的答案.有人可以赐教,至于为什么会这样吗?
情况1:X =(730*4800)/ 1024 = 3421
情况2:X = 730*(4800/1024)= 2920
在这两种情况下,执行整数除法而不是正常(浮点)除法.
整数除法是除法,其中小数部分(余数)被丢弃.
例如,在案例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)