Math GNU bc:-2^3==-8,但-2^4==16?

Math GNU bc:-2^3==-8,但-2^4==16?,math,computer-science,bc,Math,Computer Science,Bc,目前,我正在努力完成这项任务,于是,在做一些两人的补充练习时,出现了一个奇怪的问题 GNU bc 1.06,默认设置-无标志: -2 ^ 3 -8 。。。但是 -2 ^ 4 16 问题: 为什么-2^4等于正16?我把它插入谷歌的计算器功能,我确实得到了-16 关于Pinky&the Brain,我可能已经再次打开了我头脑中的镜头盖,但是任何关于这种行为的提示都是值得赞赏的 谢谢 sc.因为-2·-2·-2·-2=16谷歌说它是-16,因为它将问题解释为-2^4,也就是-16你很可能在键入等

目前,我正在努力完成这项任务,于是,在做一些两人的补充练习时,出现了一个奇怪的问题

GNU bc 1.06,默认设置-无标志:

-2 ^ 3
-8
。。。但是

-2 ^ 4
16
问题:

为什么-2^4等于正16?我把它插入谷歌的计算器功能,我确实得到了-16

关于Pinky&the Brain,我可能已经再次打开了我头脑中的镜头盖,但是任何关于这种行为的提示都是值得赞赏的

谢谢


sc.

因为-2·-2·-2·-2=16

谷歌说它是-16,因为它将问题解释为-2^4,也就是-16

你很可能在键入等式时出错。我打赌你的评估结果如下:

-24=-1×24=-16

当用负数求幂时,有一个简单且通用的规则:

如果你的指数是奇数,你的结果将是负数。 如果你的指数是偶数,你的结果将是正的。 这仅仅是因为将一个负数与另一个负数相乘就得到了一个正数

-1×-1=1

-1×1=-1

-21=-2

-22=-2×-2

-23=-2×-2×-2

-24=-2×-2×-2×-2

让我们从其中一个乘法开始:

-2×-2=4

因此:

-2×-2×-2×-2=4×4=16

编辑:

出于兴趣,我尝试将其放入特殊的Wolfram Alpha中,它以类似的方式混淆:

解释为-2x

解释为-2x


显然,bc给出了否定的负号优先于乘法运算,也就是说,它将负号视为数字的一部分。我相信相反的约定更为普遍,也就是说,将否定视为从零开始的减法,从而赋予幂运算优先于否定运算

事实上,在bc中,0-2^4按预期返回-16,而0+-2^4不是语法错误,因此再次返回16


因此,-2^4的两个读数在相应的惯例中都是正确的,选择哪一个是品味的问题,唯一重要的是保持一致,如果使用了bc变量,则正确地宣布它。

因为数学。感谢@Raedwald简洁而准确的回答:-数学中通常的惯例是将-2^4理解为-2^4=-16,但bc中的一些程序和计算器将其解释为-2^4=16。如果有疑问,请使用括号。我喜欢你在这方面所做的努力。最好说这是一个幂函数,如果指数是偶数,函数是偶数,如果指数是奇数,函数将是奇数函数。不使用正数、负数或求幂项。@user2485710这将假设提问的用户理解幂函数、偶数函数和奇数函数,我认为在这种情况下我们不能想当然。@user2485710这对您有什么帮助?什么是偶数函数还是奇数函数?@Mario这是你所说的更精确的术语,如果你的指数是奇数,你的结果将是负数,这在数学术语上并不完全正确。但这只是我的迂腐。