本文纯属一点无聊的想法,甚至是谬论,希望读者不用太较真。
在计算器出现以下截图的计算结果,通常可以直接判定为计算错误(BUG)。但换一种场景模式,这种结果也许挺符合人类交流的预期结果。
从左到右4个截图:
1)按常识而言:10%+10%=0.2;
2)按常识而言:10%+10%+10%=0.3;
3)按常识而言:50%+50%=1;
4)按常识而言:25%+50%=0.75;
但截图的实际计算结果,逻辑应该是如下:
1)10%*(1+10%)=0.11;
2)10%*(1+10%)*(1+10%)=0.121;
3)50%*(1+50%)=0.75;
4)25%*(1+50%)=0.375;
由上述分析,可以将“+”解释为“在前者的基础上再加X%”。
-----------------------------------------------------------------------------------------------------
对于计算器而言,10%+10%算是一次性输入,那么计算结果20%是没有问题的。
但我们实际表达时,10%+10%常常会被说成"先给10%再加10%",再让机器去理解这句话,那么结果应该是10%(1+10%)。
如果场景换为语音输入的模式,那么上面的计算结果可能算是计算机领域的一大进步吧。