一边玩一边学习 发表于 2022-9-24 15:18:37

课后习题

print(2 ** 2 ** 32) 和 print( (2 ** 2) ** 32) 这两个东西的区别在哪里呀{:10_266:} 孩子数学太差了,真的看不出区别

wp231957 发表于 2022-9-24 15:23:34

区别就是前边的式子先算后两个
后面的式子先算前两个

一边玩一边学习 发表于 2022-9-24 15:27:28

wp231957 发表于 2022-9-24 15:23
区别就是前边的式子先算后两个
后面的式子先算前两个

为啥前边的会先算后两个

jackz007 发表于 2022-9-24 15:34:10

2 ** 2 ** 32 = 2 ** 4294967296 = <死机也算不出来>
(2 ** 2) ** 32 = 4 ** 32 = 18446744073709551616

Twilight6 发表于 2022-9-24 15:49:11



看图,就知道差距在哪了:




lymbwx 发表于 2022-9-24 20:25:32

**代表幂运算,2**2**32 会优先算后面的 2**32,另外括号的优先级最高,所以算的结果是有差别的,希望对你有帮助

一边玩一边学习 发表于 2022-9-25 15:05:48

lymbwx 发表于 2022-9-24 20:25
**代表幂运算,2**2**32 会优先算后面的 2**32,另外括号的优先级最高,所以算的结果是有差别的,希望对你 ...

好的谢谢,理解啦!

samhanyu 发表于 2022-9-28 15:10:15

**表示幂,幂会先计算次方数字,如A ** B ** (C+D),则等于A的B ** (C+D)次方
而(2 ** 2) ** 32则会按照优先次序,先计算括号里的内容,则等于(2 ** 2)的32次方计算
页: [1]
查看完整版本: 课后习题