基于手机计算器百分数计算bug的一次无聊思考

本文纯属一点无聊的想法,甚至是谬论,希望读者不用太较真。

在计算器出现以下截图的计算结果,通常可以直接判定为计算错误(BUG)。但换一种场景模式,这种结果也许挺符合人类交流的预期结果。

 

基于手机计算器百分数计算bug的一次无聊思考_第1张图片       基于手机计算器百分数计算bug的一次无聊思考_第2张图片      基于手机计算器百分数计算bug的一次无聊思考_第3张图片      基于手机计算器百分数计算bug的一次无聊思考_第4张图片

从左到右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%)。

如果场景换为语音输入的模式,那么上面的计算结果可能算是计算机领域的一大进步吧。

你可能感兴趣的:(杂谈)