各位大佬请问一下
为何 print( (2 ** 2) ** 32) 就可以计算出结果呢? 这哪有为什么,能算出来就是能算出来 本帖最后由 肖-肖 于 2021-4-15 13:32 编辑你这个应该是4的32次方吧
如下图-》可见前两个是相等的可以验证!
如果是print(2**2**32)-->**幂运算,运算顺序是:从右向左,所以是-》2的2的32次幂-》可能太大了吧! 本帖最后由 qq1151985918 于 2021-4-16 11:18 编辑
肖-肖 发表于 2021-4-15 13:31
你这个应该是4的32次方吧
如下图-》可见前两个是相等的可以验证!
并不是不出结果,而是还在运算,因为这个数据太庞大。在python中,
求幂运算** 的运算结合性是从右向左,也就是说,在不加括号的情况下
2 ** 2 ** 32 ==> 2 ** (2 ** 32),而这个数据太过于庞大,还没有计算出结果,只有显示空白
实际上内存仍然在计算数据
qq1151985918 发表于 2021-4-16 11:12
并不是不出结果,而是还在运算,因为这个数据太庞大。在python中,
求幂运算** 的运算结合性是从 ...
嗯 qq1151985918 发表于 2021-4-16 11:12
并不是不出结果,而是还在运算,因为这个数据太庞大。在python中,
求幂运算** 的运算结合性是从 ...
接着大佬的回复
print( (2 ** 2) ** 32) 相当于 print(2 ** (2*32)) 或者说是 print(2 ** 64)
print(2 ** 2 ** 32) 相当于 print( 2 ** (2 ** 32)) 也就是 print(2 ** 4294967296) 肖-肖 发表于 2021-4-15 13:31
你这个应该是4的32次方吧
如下图-》可见前两个是相等的可以验证!
谢谢
页:
[1]