- 主题:python默认的最大整数,是多少啊?
上次算一个 上万位的整数,也算出来了。这次算 9 ** (9**9),竟然溢出了。想知道python默认的最大整数,是多少啊?谢谢
--
FROM 120.242.253.*
猜测是 ** 被解释为了 float 之间的运算,才会有溢出
【 在 feng321 的大作中提到: 】
: 上次算一个 上万位的整数,也算出来了。这次算 9 ** (9**9),竟然溢出了。想知道python默认的最大整数,是多少啊?谢谢
--
FROM 223.166.225.*
【 在 feng321 的大作中提到: 】
: 上次算一个 上万位的整数,也算出来了。这次算 9 ** (9**9),竟然溢出了。想知道python默认的最大整数,是多少啊?谢谢
python的大整数,已经不是普通意义的int或int64了,
>>> a = 9**(9*9*9*9*9*9*9)
>>> type(a)
<class 'int'>
>>> sa=str(a)
>>> len(sa)
4564113
这个能出结果, 不过已经是百万位了。
--
FROM 115.171.245.*
内存不够了吧,这个int结果是在栈还是堆上分配的?
--
FROM 111.225.73.*
试了一下,没直接溢出,但是久久不出结果
跟跑了千万级别的循环那样,假死了
【 在 pgw 的大作中提到: 】
: 内存不够了吧,这个int结果是在栈还是堆上分配的?
--
FROM 223.166.225.*
9**(9**9)
这不是显然比万位大吗
【 在 feng321 的大作中提到: 】
: 上次算一个 上万位的整数,也算出来了。这次算 9 ** (9**9),竟然溢出了。想知道python默认的最大整数,是多少啊?谢谢
--
FROM 223.223.201.*
怎么个显然法?
我想到的办法是:
9**9 = (10-1)^9 =10^9-9*10^8+..... 约等于 10^8
而一万位,只是10^4
9^(10^8) > 10^(10^4) (这个需要证明吗?)
老兄有什么好办法比较 9^(9^9) 和 10^(10^4)?
【 在 sixue1999 的大作中提到: 】
: 9**(9**9)
: 这不是显然比万位大吗
--
FROM 120.242.253.*
这指数大这么多,不是瞪眼法就猜出来了?
【 在 feng321 的大作中提到: 】
: 怎么个显然法?
: 我想到的办法是:
: 9**9 = (10-1)^9 =10^9-9*10^8+..... 约等于 10^8
: ...................
--
FROM 223.223.201.*