首页 >>  正文

逻辑函数计算器

来源:baiyundou.net   日期:2024-09-22

文章开始前,请你打开手机计算器,计算一下标题中的“50%+50%”,看看结果是几?

不出意外的话,这边会显示3种结果:

第一种,OPPO、vivo、小米等手机会显示为0.75;

第二种,魅族(以及部分小品牌)会显示为1;

第三种:iPhone系列会显示0.25,不过你再按一下等号,也是0.75。

是不是很神奇?再来算个好玩的,比如100+20%,小米等品牌会显示为120%,而魅族显示100.2。

为什么有两种答案呢?

1 50%+50%=0.75是怎么来的?

想象一下这个场景,你在爽玩一款刷装备的游戏,为了刷出优秀词条打得不亦乐乎。终于,Boss掉了一把属性还不错的装备,有一项“+15%近战伤害”。假如你的攻击力是100点,穿上它之后,伤害是多少呢?

相信玩家们都会脱口而出:115。应该没有人会认为是100.15吧?

图片来自网络 仅供参考

%,即百分比,是一种表达比例,比率或分数数值的方法。在这项计算中,我们会主动将100加15%伤害,转换为100+100×15%=115,心算无压力。但如果你穿了一整套装备,头盔+42%,靴子-17%,手套+50%,技能又+14%,这心算起来就有些困难了。

为了算出角色的最终伤害,你掏出计算器,按出以下算式:

就这一项算式,你就得按上几十下按钮,出一个错就会产生结果误差。而在金融等需要高度计算的行业中,需要计算的算式只会更加复杂,要按的按钮更多,“忙中出错”的可能性也就越大。

因此,函数式计算器就将百分数计算的逻辑进行了更改,A+B%=A+(A×B%)。这样一来,上面的计算式就简化为:

回到开头,手机计算器中的“50%+50%”带入上面的公式,最终结果就是0.75。

目前,A+B%=A+(A×B%)已经成为全球惯例。微软资深开发人员Raymond Chen曾在一份开发者日志中写道:“Windows计算器中百分键的工作方式与廉价的袖珍计算器相同,那些袖珍计算器上的百分键并不是为数学家和工程师设计的,而是针对日常计算而设计。如果你是一名工程师,可能认为这样的方式很反直觉,甚至出了Bug,但对一般民众就很合理。”

图片来自微软开发日志

从这篇日志可以看出,计算器开发者认为A+B%=A+(A×B%)这个算式是很普及的一种概念,如此定义并无问题。但在国内,绝大多数的用户应该都不认同这条算式,50%加上50%就是100%。如果国内用户想要用手机计算器计算两个百分比相加,就得额外加上括号,结果就对的上了:

其实如果更加深究的话,还要涉及到计算器算式堆栈等复杂的语言问题,这里就不再赘述了。

2 是懒得改,还是没必要?

既然手机计算器百分比计算这么“反人类”,为什么厂商不改呢?

现已从魅族科技离职的华海良曾在2019年9月发布博文,挂上了一个“手机计算器全线阵亡”的夸张话题。他表示,魅族的研发团队“想得更多”,增加了人性化的算法判断,所以针对不同地区的固件做了不同的算法判断。

对此,MIUI金凡也发文科普,给出了“中国人算力过剩,对西方同志来说却能救命”的解释:“其实之前我们改成过10%+10%=0.2,但后来决定还是遵循全球统一标准。因为中国人不太会去这么用%(我们会直接输入0.1而不是10%,自带转换),所以更改逻辑给国内用户带来的好处很小,而一些习惯了%用法的人却会崩溃,综合考虑还是决定回归和全球标准统一。”

金凡的原推文现在已经看不到了

金凡的发言其实很巧妙地转移了话题,让米粉们更容易接受,有种“照顾”国外同志的优越感。归结到底,手机计算器本来使用率就低,百分比符号使用得更是少之又少。个人认为,两种计算方式都能理解,没必要死磕意义上纲上线,实在要算百分比用小数就得了。

3 总结

之所以想起这个话题,还是因为魅族20系列的“重生”。Flyme系统一直致力于打造人性化系统,这次更改百分数计算惯例就是做出差异化的一次尝试——事实上也同样如此,当时这个话题也在社交媒体上给魅族带来了不小的热度,算是一次较为成功的革新。

你认为计算器中50%+50%该不该等于0.75呢?欢迎讨论。

(8170050)

","gnid":"9c605b836ced89ff4","img_data":[{"flag":2,"img":[{"desc":"","height":"288","title":"","url":"https://p0.ssl.img.360kuai.com/t012fc2a27b3de42165.jpg","width":"640"},{"desc":"","height":"445","title":"","url":"https://p0.ssl.img.360kuai.com/t014391cd73744973b8.jpg","width":"640"},{"desc":"","height":"469","title":"","url":"https://p0.ssl.img.360kuai.com/t017756fcdcb3f1f624.jpg","width":"580"},{"desc":"","height":"307","title":"","url":"https://p0.ssl.img.360kuai.com/t01f1afe731a1d5389f.jpg","width":"640"},{"desc":"","height":"272","title":"","url":"https://p0.ssl.img.360kuai.com/t0158c80d46b0dfa997.jpg","width":"640"},{"desc":"","height":"288","title":"","url":"https://p0.ssl.img.360kuai.com/t017cc4d3a3b593db6e.jpg","width":"640"},{"desc":"","height":"441","title":"","url":"https://p0.ssl.img.360kuai.com/t01ff4edc34730c8a32.jpg","width":"586"},{"desc":"","height":"201","title":"","url":"https://p0.ssl.img.360kuai.com/t01a2794f8419341ccc.jpg","width":"597"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"hbase","pub_time":1682895420000,"pure":"","rawurl":"http://zm.news.so.com/d8a1cbabfb44a8523778e15e2fb7fccc","redirect":0,"rptid":"f656c6d3eb109c0b","rss_ext":[],"s":"t","src":"中关村在线","tag":[{"clk":"kdigital_1:魅族","k":"魅族","u":""},{"clk":"kdigital_1:微软","k":"微软","u":""},{"clk":"kdigital_1:魅族科技","k":"魅族科技","u":""}],"title":"为何手机计算器50%+50%=0.75?魅族:只有我们没阵亡

长韵启4823mathcad的运算顺序,是从上到下,从左到右吗 -
莘咱鲍13299402005 ______ Mathcad 的数学面板,它共 有 8 个按钮,按由左到右,由上到下的顺序依次为:函数计算器、逻辑 运算符(主要用于程序设计)、绘图、矩阵及向量运算、有关微积分方面 的数值运算运算、编程面板、希腊字母集、符号计算器.

长韵启4823安卓系统的手机计算器要如何使用计算“反三角函数”的功能? -
莘咱鲍13299402005 ______ 1、在手机桌面找到计算器,点击打开. 2、在计算器的左下角有一个切换图标,点击它进行切换计算器. 3、这样就切换到数学专用计算器了,再点击计算器键盘的左上角2nd,来进行求反三角函数. 4、输入你要求的反三角函数然后按等于号即可,如下图所示,求正弦函数的反三角函数.

长韵启4823试用4选1数据选择器74LS153实现逻辑函数F=A非B+BC -
莘咱鲍13299402005 ______ 逻辑函数中有三个输入变量ABC,那就应该有8个最小项,需要有8个数据输入端.而4选1的数据选择器只是4个数据输入端,所以,要用两个4选1的数据选择器级联,变成8选1的数据选择器就可以了.采纳后给逻辑图.

长韵启4823excel逻辑函数
莘咱鲍13299402005 ______ =if(or(A1="A",A1="B",A1="C"),1,if(or(A1="D",A1="E",A1="F"),2,if(or(A1="x",A1="Y",A1="Z"),3,"")

长韵启4823使用逻辑函数,判断员工是否有条件加工资, -
莘咱鲍13299402005 ______ 用IF加上AND函数 =IF(AND(D2="助工",E2>=1250),"YES","NO")

长韵启4823一类机动车维修企业 转户流程 -
莘咱鲍13299402005 ______ 没有转户之说的.你是意思是将这企业转让给别人吧? 一,首先原被许可者也就是原经营者要终止经营,并在终止经营前30日告知作出原许可决定的道路运输管理机构办理注销手续.并交...

长韵启4823函数型计算器,度转换成弧度?如何操作计算器转换? -
莘咱鲍13299402005 ______[答案] 函数型计算器,以我的SHARP EL-5103S为例,不预先设置,直接在日常操作之后,输入的sin,con 等函数后面的角度都是十进位的弧度制.要输入360度内的角度时,可以放在括号内,(把角度值乘以π再除以180);如果有大量360度角度计算式,...

长韵启4823WPSEXCEL逻辑计算函数 -
莘咱鲍13299402005 ______ 如果左上角的单元格所在位置是A1(如果楼主截图的表含有行列号,就不需要最前面的【如果了】) 杨懿的店提E10:=VLOOKUP(C10,A$4:B$6,2,0)*0.005

长韵启4823pascal超级计算器
莘咱鲍13299402005 ______ var a:packed array[1..1000000] of real;ed:longint;s1,js,js1:real;s:string;ch:char; procedure push(var over:longint;s:real); begin inc(over);a[over]:=s; end; procedure pop(var over:longint); begin a[over]:=0;dec(over); end; procedure top(var sj:real); begin ...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024