Monsieur. 发表于 2021-7-5 17:34:17

为什么结果是这个

为什么运行代码

>>> -5 ** 2
-25

结果是这个

不应该是25吗?

逃兵 发表于 2021-7-5 17:40:01

本帖最后由 逃兵 于 2021-7-5 17:41 编辑

** 运算符优先级高于 -
所以是先计算5**2
然后计算-25
结果得到-25

>>> -5**2
-25
>>> (-5)**2
25
https://fishc.com.cn/forum.php?mod=viewthread&tid=150253&extra=page%3D1%26filter%3Dtypeid%26typeid%3D769

Monsieur. 发表于 2021-7-5 17:42:04

逃兵 发表于 2021-7-5 17:40
** 运算符优先级高于 -
所以是先计算5**2
然后计算-25


** 是运算符   
那 - 是什么符

陈尚涵 发表于 2021-7-5 17:42:50

本帖最后由 陈尚涵 于 2021-7-5 17:45 编辑

Monsieur. 发表于 2021-7-5 17:42
** 是运算符   
那 - 是什么符

-是减号呀,这里-25前没有数系统就当成0-25了(相当于负号)

逃兵 发表于 2021-7-5 17:43:07

Monsieur. 发表于 2021-7-5 17:42
** 是运算符   
那 - 是什么符

是负号

青出于蓝 发表于 2021-7-5 17:44:27

Monsieur. 发表于 2021-7-5 17:42
** 是运算符   
那 - 是什么符

**是求次方,也就是幂运算
5**2指求5的2次方
-就是负号,可理解为-(5**2)
也就是-25
这里关系到运算顺序,先幂再乘除

陈尚涵 发表于 2021-7-5 17:45:19

-5**2
-和**虽然都是运算符,但系统会先算**。
页: [1]
查看完整版本: 为什么结果是这个