1

我正在尝试使用 python 3.6 对一个相当大的整数执行一个相对简单的操作(平方根),如下所示:

import math
y = math.sqrt(y_square)
print(y_square)
print(y)
print(y**2 - y_square)

产生:

y_square = 112453967836240530612698821058629451437284506947138273586752978210411860041664976976388128300702880194729095784116728402767535807027702758336085695030907730304293242710204005540029929073563476552311529976337882620026357537308679
y = 3.353415689058554e+113
y**2 - ysquare = 2.1040543606193494e+211

尽管给定我的数字大小,我已经研究了 int 溢出,但我读到 python3 没有 int 的大小限制,因为它们是用任意精度定义的。

总而言之,我根本不明白为什么我会得到一个 212 位的数字,因为我本来想要...... 0。

预先感谢您的帮助!

4

0 回答 0