专业的编程技术博客社区

网站首页 > 博客文章 正文

50%+50%居然等于0.75?

baijin 2024-12-06 14:00:46 博客文章 5 ℃ 0 评论

今天闲来无聊之时,通过抖音来打发一下时间碰巧看到一个段子:50%+50%=0.75?不信的话大家可以现在就用手机打开计算器输入一下来看看结果是不是0.75!

我当时就和大家此时此刻的状态一样当然是不相信了!但是作为接受过良好九年义务教育的我当然不可能无根无据就随便否决这个结果!

上小学时数学老师就告诉我们50%等于0.5,那么50%+50%这就相当于0.5+0.5结果肯定为1呀!为了证实我的想法是正确的,我果断打开了手机中的计算器来打破50%+50%=0.75这个谣言。结果我却啪啪打脸了[闭嘴]

结果真如视频中所描述的那样~0.75,瞬间我感觉,难道我对数学的认知一直都是错误的?还是曼德拉效应在作怪?

于是我有仔细想了一下出现这个结果的可能原因:

1.计算器的计算优先级可能出现了问题。

2.可能真的是我数学没学好。

3.计算结果为0.75可能是0.5+0.25也就是说计算器的算法是先算50%*50%然后在加上50%。

为了验证我的猜想:于是我悄悄地打开了手机浏览器百度一下是什么原因导致的50%+50%=0.75这一现象。

度娘告诉我是因为手机计算器(大部分情况下的默认计算器),都按照a+b%=a+a*b%或a*(1+b%)计算。

后来我又试了试别的数字计算如图:

结果真如计算器默认的算法一样!但是这有背于我们平时所对计算的认知!那又是什么原因导致的呢?

后来经过我查询资料才了解到:因为历史原因(初代计算器不支持多次输入,也就是说每次只能输入一次加减乘除),老外们的数学也不咋地,生活中又会出现大量类似上面这样的问题。为了提高效率,老外们就把300+300*10%,简化成了300+10%,直接得出330,类似的,2868-20%=2294.4。你猜怎么着?工作效率大大提升,针不戳!

后来就传到了国内,国内的大多数手机计算器都保留了这个传统。当你输入50%+50%的时候,手机先会把前面一个50%转化成0.5(因为它的前面没有数了,于是就默认转成小数,a%=a/100),后一个就理解为「加上前一个数的50%」,于是50%+50%=50%+50%*50%=50%+25%=75%=0.75。

这可能就是其中真正的原因吧!并不是我们所想象的那样!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表