【发布时间】:2014-05-18 08:33:36
【问题描述】:
目前我正在通过极好的CS:APP 工作,因此在做一些补码练习时出现了一个奇怪的问题。
GNU bc 1.06,默认设置 - 无标志:
-2 ^ 3
-8
...但后来...
-2 ^ 4
16
问题
为什么-2 ^ 4 等于正16?我把它插入谷歌的计算器功能,我确实得到了-16。
我可能已经再次打开了我脑海中的镜头盖(关于小指和大脑),但是对于这种行为的任何提示都是值得赞赏的。
谢谢
sc.
【问题讨论】:
-
因为数学。
-
感谢@Raedwald 的简洁而准确的回答 :-)
-
数学中通常的约定是将 -2^4 解读为 -(2^4) = -16,但一些程序和计算器(包括
bc)将其解读为 (-2)^ 4 = 16。如有疑问,请使用括号。
标签: math computer-science bc