发布网友 发布时间:2024-03-02 03:05
共5个回答
热心网友 时间:2024-07-20 00:56
这两天,全国各地的网友纷纷开始调戏自己的手机计算器了事情的起因是这样的,有很多网友发现拿自己手机内置计算器计算10%+10%,得到的结果不是0.2,而是0.11。而且这并不是个别厂商的系统bug,大部分手机自带计算器都中招了,苹果、华为、小米、OPPO无一例外,只有魅族和锤子自带计算器输出结果是正常的0.2。
对此,魅族科技副总裁华海良在微博回应说,10%+10%=0.11是国外的使用逻辑,国内的算术逻辑是10%+10%=0.2。魅族计算器因为针对不同地区进行了针对性设置,国内的手机可以正确计算10%+10%,而其他地区算出来还是0.11。
华为荣耀业务部总裁赵明则表示,这是因为计算器在考虑国外算小费的情景,“这时100+10%相当于100+100×10%,是一种出于人性化考虑的设计。”
所以手机计算器到底是怎么处理百分号的呢?下面我们实际来动手分析一下它的逻辑吧。以我手边的华为手机为例,在计算器上输入10%+10%,得到的结果是0.11。是不是这些自带计算器的算法有问题,遇到百分号就不会处理了呢?
咱们用更复杂的乘除法试试,算一算10%×10%和10%10%.
看来,使用手机内置计算器,计算百分数的乘除法都正确,只是在进行加减法运算的时候会出点问题。如果你在手机内置计算器里输入 X±Y%,计算出的结果其实是 X(100%±Y%)。但是手机计算器为什么要把百分号的算法设置得这么飘逸呢?
实际上,百分号在科学计算器中的用法是符合我们计算常识的,但在普通计算器中一般采用了实用简化,Win7下的计算器和市面售卖的普通计算器一般都采用这一运算逻辑,而手机内置计算器沿用这种设置
热心网友 时间:2024-07-20 00:53
不是,这是故意这样设定的吧,这只是一个算法热心网友 时间:2024-07-20 01:00
不是,只是一开始在中国用的时候跟国外的标准不一样,后来为了跟国外统一就把这个规则改了。热心网友 时间:2024-07-20 00:54
并不是错误,而是计算器没有这种计算的一个编程,所以就不能计算这种形式的热心网友 时间:2024-07-20 00:53
不是的,只是每个手机的运算功能不一样而造成不同的结果罢了。