鱼C论坛

 找回密码
 立即注册
查看: 1384|回复: 5

[已解决]python第六讲操作符疑问

[复制链接]
发表于 2020-3-9 11:13:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
想问下第六讲课后作业中动动手第1题
QQ图片20200309111155.png
为什么下面那个可以运算出结果
最佳答案
2020-3-9 21:51:04
幂运算是从右往左的,也就是说 2 ** 2 ** 32 其实是 2 ** (2 ** 32) 也就是 2 ** 4294967296 。

这么大的数,Python 很可能算不出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-9 11:16:03 | 显示全部楼层
2**(2**32)  实在是太大了  内存放不下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-9 11:33:04 | 显示全部楼层
32次方的运算还好,但是机子先处理后面的两个幂运算,就出现了2*32次方的运算了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-9 11:44:35 | 显示全部楼层
本帖最后由 hrp 于 2020-3-9 11:47 编辑

上面是 2 ** (2 ** 32)
下面是 (2 ** 2) ** 32
上面结果实在太大了,内存放不下。我试了一下,打开任务管理器,用IDLE计算上面的式子,短短半分钟,任务管理器显示IDLE内存占用已经飙升到了 500M 以上并且还在上涨,吓得我赶紧关了IDLE
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-9 21:28:00 | 显示全部楼层
这个是运算符的结合性问题吧,应该是指数运算符是右结合。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-9 21:51:04 | 显示全部楼层    本楼为最佳答案   
幂运算是从右往左的,也就是说 2 ** 2 ** 32 其实是 2 ** (2 ** 32) 也就是 2 ** 4294967296 。

这么大的数,Python 很可能算不出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-2 11:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表