20+10%=?

2019-09-02 15:13:14 +08:00
 secsilm

22 ?这怎么算的?

17560 次点击
所在节点    程序员
192 条回复
DiamondbacK
2019-09-03 11:37:29 +08:00
@Yvette 这样的数学专业的教材中的例子,可以举出一个看看吗?
DiamondbacK
2019-09-03 11:38:43 +08:00
@Yvette #90
这样的数学专业教材的例子,可以举出一个看看吗?
DiamondbacK
2019-09-03 11:50:24 +08:00
@dikcen #93
只问一个问题:100% = 1 成不成立?这是数学问题。
FrankHB
2019-09-03 11:53:26 +08:00
@dikcen %(percent) 这个本来就是×1/100 的语法糖,不会扩散到外部引起替换非同义语法外的其它改变。
所以说 20+10%的标准重写做法就是 20+10×1/100=20.1,这是%自身定义能决定的计算方式。
至于非得把 20+10%理解为 20×(1+10%),这是和%本身的含义无关而只是上下文决定的另外的变换。用输入序列中结尾的%来标记引发这种变换的条件,这是特定用户界面的约定,和运算本身的逻辑无关。
而非得×100%或者有其它带%的输入才能在结果表达中用%这是另一种习惯,但这种习惯和原始定义是不冲突的,更不可能决定不按这种习惯计算上就是错的。按这种习惯,20+10%自然是没法计算的,但不是说 20+10%就是数学上无意义错误的表达,顶多只能怀疑“可能写错了”。
而量纲明显有更普遍的逻辑,发现没意义是语义上的错误,根本不能弱化条件强行计算,和这里的处理方式没有可比性。

@Yvette 什么工科基础教材会故意使用和原始定义不兼容的计算表达,麻烦举实例。
jfdnet
2019-09-03 11:57:37 +08:00
FrankHB
2019-09-03 12:05:29 +08:00
@jfdnet 人性个蛋蛋,那么大空白一坨触控输入界面,就不会多提供几个选项往上面塞点东西允许让用户自己选?真要人性化提供特定场景的优化,这种情况不把+10%这种直接做个按钮或者干脆给个“小费计算”?
还有啊,上面 M+ M- 占那么大地儿的那几坨就够人性化了?本来模拟古董计算器的 UI 就够蠢了,为了莫须有的习惯跟更通用目的的表达式过不去是蠢上加蠢。
Yvette
2019-09-03 12:07:57 +08:00
@DiamondbacK
@FrankHB 算比率的地方都是需要加上一个 100 来变成百分数,而不可能把带百分号的数当成小数来使用,请勿曲解我的原话。随手翻到一个例子,在机械工程专业本科生必修的系统动力学教科书,System Dynamics 3rd by Palm III, William 的第 513 页,截图如下:
itstudying
2019-09-03 12:12:46 +08:00
@across #12 就你流批
FrankHB
2019-09-03 12:13:34 +08:00
%caocong -20% -50%和 158-70%完全不是一个概念。
-20%对什么东西有效是明确能理解的,否则就没意义了。但放到随便什么数之后这个-就不是这个意思了。
你有见过 G 胖或是敢谁用 158-70%这样的,还不特别在 158 和-70%之间加空格或者特别用不同字体和颜色区分开明确-是属于-70%的?
这些计算器这样设计是偷懒的做法,不说数学问题,就按常识来讲的 UX 的角度来讲至少反馈是很蠢的:-明明是和操作数没具体关联的二元操作,特殊处理后含义改变了,就不该和普通的-显示成一样的效果,还能让谁贴出来群嘲。
FrankHB
2019-09-03 12:13:58 +08:00
草我魔怔 at 都变成%了,,,@caocong ……
DiamondbacK
2019-09-03 12:15:57 +08:00
@Yvette
这个例子明确支持了 x + 10% = x + ( 1 + 10%) = x + x * 10% 这种「算式」吗?
DiamondbacK
2019-09-03 12:18:03 +08:00
更正:
x + 10% = x * ( 1 + 10%) = x + x * 10%
jfdnet
2019-09-03 12:18:48 +08:00
@FrankHB 人家好好解释 你是傻比啊 莫名其妙
mamahaha
2019-09-03 12:18:55 +08:00
不用搜了,这个是外国手机算小费的。
FrankHB
2019-09-03 12:22:57 +08:00
@Yvette 这种习惯表达一般是在后面×100%,或者把×100 写在分母,要么干脆整个等式中排除百分号,最后直接明确(%)表示两边都是百分数(所以左边要×100 )。你这例子里=左边直接在分数线后接相同字体字号的整数,=右边又直接用%的表达,要么另外约定过,要么只能说明作者脑子有坑。
Yvette
2019-09-03 12:23:03 +08:00
@DiamondbacK 从纯逻辑角度来讲,这个例子明确支持了「百分数不能等效成纯数」这个说法,进而明确支持了 x + 10% != x + 0.1
DiamondbacK
2019-09-03 12:25:20 +08:00
@Yvette
明确支持了 x + 10% = x * ( 1 + 10%) = x + x * 10% 吗?
FrankHB
2019-09-03 12:25:42 +08:00
@jfdnet 我本来就评论瞎猜用户使用场景傻逼,你现在非得站队洗?行吧,理解了,物以类聚。
DiamondbacK
2019-09-03 12:27:08 +08:00
@Yvette 至于「百分数不能特效成纯数」,它连数学教材都不是,就先不说它了。
FrankHB
2019-09-03 12:29:24 +08:00
@Yvette ……还特意强调“纯逻辑角度”,你的逻辑就是外行的个例能证明“不能”?
我还说分数线后不能直接写整数呢,你又用什么逻辑证明能了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/597205

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX