请问有人可以解释一下,在计算机机器/硬件/计算器中如何得出两个操作顺序产生不同结果?计算机中的浮点计算
序列1
第1步:1/3
步骤2:(步骤1的结果)* 3
回答= 1个
序列2
步骤1:0.3333333333(高达可能的入口)
步骤2:(步骤1的数目)* 3
回答= 0.9999999999
据我知道,当浮动号码不能被精确地通过计算机中储存的或表示的100%。如果序列1正在产生舍入值,那么为什么不序列2或者是否存在特殊处理1/3,2/3的校验的任何harwired算法?
我已经在移动计算器,Windows计算器应用程序,Microsoft Excel表中试过。所有结果都一样。
因为1/3不同于0.3333333333 ... –
但是我们知道内存的固定大小有限,所以存储.33333会导致一些截断。那么它如何以不同的方式处理 – Bhupendra
你打了多少三分?例如,在一种常见的格式中,您需要大约16个三分之一才能得到与计算1/3相同的近似值。 –