“10% + 10% = 0.2”非标准答案?手机电脑计数原来部部有不同?
10% + 10% = ? 可能好多朋友会反射性地回答“0.2”。但不妨花几秒用手机上的计数机App算算,答案跟好多朋友所想的完全不同。计数机没有错,错的反而是我们吗?
近日“10%+10%”问题成为中国网络热话,在微博上以“#手机计算器全线阵亡”之hashtag为题群起讨论。大多数人认同答案是“0.2”;但网民发现不同品牌的手机计数机App得出结果却都是“0.11”。
中国《电子工程专辑》以iPhone、Oppo、华为Honor及小米MI的计数机App计算结果:
台湾《科技新报》以ASUS、Sony、Google Pixel及iPhone的计数机App计算结果:
记者以iPhone XR之计数机App实测之结果:
“普通计数机”和“科学计数机”,数理逻辑有分别。一般人运数或使用科学计数机,会按“先乘除后加减”法则,从算式“10%+ 10% = 0.1 + 0.1”而得出“0.2”的结果。然而,手机的计数机App为普通计数机,会按连续百分比计算,从算式“10% +(10%×10%)= 0.1 + 0.01”而得出“0.11”的结果。
即睇手机“连续百分比”算式拆解。记者在iPhone XR计数机App输入“10%”,系统自动将之转变成“0.1”:
输入“+ 10%”指令,系统自动将之演绎为“+0.01”。此数值为“10%×10%(即0.1 x 0.1)”的结果:
Win 10计数机的增幅逻辑,在算式加长、加减运算时更为显著。若计算“1+10%+10%”,在“A+(A×10%)+〔A+(A×10%)〕*10%”的逻辑下,会变成“1 + (1x10%)+〔1+(1x10%)〕*10%”:
“1 + 0.1 + 0.11”最后得出1.21的结果:
大陆网民测试,发现华为、苹果、OPPO多默认采用“A+Ax10%”的逻辑得出“0.11”答案。小米情况较复杂,在科学计算机App下有些用户显示结果是“0.2”,有些依然显示为“0.11”。而魅族、锤子(Smartisan)、努比亚(Nubia )等少数机型则得出“0.2”:
为何多数手机计数机App的逻辑会如此运作?大陆网民议论纷纷,有人认为不是bug而是刻意设计。对此,几位中国手机品牌高层也发表睇法。
华为荣耀(Honor)业务部总裁赵明(George)解释此数理逻辑是为了方便而设,他的博文说:“实际上这有一个背景,就是算小费等特殊场景,很多国家餐厅吃饭给10-20%的小费,这时100+10%相当于100+100*10%,相当方便的一种人性化设计。”
简单而言,香港也有不少食肆收取“加一”服务费。假设一餐饭埋单200元,在手机计数机App输入“200+10%”便能得出“200+(200×10%)”的“加一后”结果。同理在计算折扣时,当标价写着“20% OFF”(即八折),只要在机计数机App手输入“200-20%”便能获得折扣后的价钱。
“那么到中国要不要改过来呢?”赵明于微博上征求网民意见。 魅族高层华海良如此分析:“这个话题引发了不少讨论,其实本质上并不是对或错的问题,我们只是考虑的更多,增加了人性化的算法判断。10%+10%= 0.11这个是国外的使用逻辑,而国内的算数逻辑是10%+10%=0.2,所以我们针对不同地区的固件做了不同的算法判断。”
引申华海良的“文化差异”说法,手机又好,人类又好也没有计错数,不用重返小学读百分比。只不过我们计数习惯了遵循“先乘除后加减”的原则;手机的非科学计数机App则作连续百分比计算。
只是手机的计数机App倾向连续百分比计算的源起为何呢?小米产品总监、MIUI体验总负责人小凡尝试解答此“历史思考题”。
小凡指出“10%+10%”是目前全球标准的计算逻辑。最早的电子计数机并没有%,是后来加入。作为后续改进,它一定程度上解决了计算场景中的“常用痛点”。小凡推测很可能是在西方人计算折扣、小费、利息等场景时,如此计算逻辑会很实用。
小米曾将手机计数机App改为“10%+10%=0.2”之运算方式,但中国用户从未依赖使用“%”号,反而更倾向自行转换直接输入“0.1”计算。为了方便国外用户使用,最终小米还是决定遵循全球标准改回“10%+10%=0.11”方式。由于有过如此更改,据了解目前仍有部份小米旧手机计数机App仍遵从旧逻辑,会得出“0.2”的结果。