幂函数
1. 我们说过现在的 Python 可以计算很大很大的数据,但是......真正的大数据计算可是要靠刚刚的硬件滴,不妨写一个小代码,让你的计算机为之崩溃?print(2 ** 2 ** 32)
# 一般很多机子都会在一会儿之后:Memory Overflow,内存不够用。
# 设计到幂操作,结果都是惊人滴。
复制代码
那我再考考你:
你猜猜为何 print( (2 ** 2) ** 32) 就可以计算出结果呢?
求解答。
本帖最后由 Twilight6 于 2020-5-15 20:18 编辑
优先级问题,第一个是先 2 ** (2 ** 32)第二个 (2 ** 2) ** 32 指数越大 越恐怖呀
刚刚用计算器算了下
2 ** (2 ** 32) =2 ** 4294967296 这么大
这个就不用了 哈哈 口算出底数 就可以直接比较了
(2 ** 2) ** 32 =4 ** 32=2 ** 64
这样根本没有可比性吧哈哈
如果帮助到你了 给个最佳吧{:10_287:} 第一个的运算顺序是 2 ** (2 ** 32) 由于幂运算的优先级是从左往右,所以 2 ** 2 ** 32 实际上等于 2 ** (2 ** 32) 也就是 2 ** 4294967296 ,这算出来得是多大个数啊,所以机子执行一段时间后内存不足以存放这么大的数,因此报错 Memory Overflow 。
而 (2 ** 2) ** 32 等于 4 ** 32,计算机可以很容易算出 4 ** 32,因为数小。 幂运算左操作数比右操作数的优先级高 帅哥,鱼币怎么得? mQiang 发表于 2020-5-16 16:36
帅哥,鱼币怎么得?
冲个会员 一劳永逸 楼主,如果帮助到你了就设置最佳吧{:10_287:} 优先级(2**2)优先计算 算后可以知道,这两种结果是不同的,()很重要!!!
页:
[1]