Python 中整數的最大可能值是多少?
與 C/C++ 不同,Python 3 中的 Long 具有無限精度,並且沒有明確定義的限制。可用地址空間被認為是實際限制。
在 Python 2 中,整數在超過其限制時會自動轉換為長整數。
Python 2
>>> import sys >>> type(sys.maxint) <type 'int'> >>> type(sys.maxint + 1) <type 'long'>
Python 3
Python 3 中移除了 Maxint,但通常可以使用 sys.maxsize 代替。
>>> import sys >>> type (sys.maxsize) <class 'int'> >>> type (sys.maxsize + 1) <class 'int'>
從上面的輸出我們可以看到,在 Python 3 中,int 和 long 實際上合併了,值不再具有這種重要性。
#Python 2.7
>>> import sys >>> print sys.maxint# Max Integer value 2147483647 >>> print -sys.maxint -1# Min. Ineteger value -2147483648
但在 Python 3 中,我們可以賦值比這更大的值,因為這次範圍將增大。sys.maxint 被 sys.maxsize 替代。
#Python 3.6
>>> import sys >>> print(sys.maxsize) 2147483647
最大和最小整數、長整數和浮點數值
#Python 2.7 import sys print("Float value information: ",sys.float_info) print("\n") print("Long Integer value information: ",sys.long_info) print("\n") print("Maximum size of an integer: ",sys.maxsize)
輸出
('Float value information: ', sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)) ('Long Integer value information: ', sys.long_info(bits_per_digit=30, sizeof_digit=4)) ('Maximum size of an integer: ', 9223372036854775807L)
#Python 3.6
import sys print("Float value information: ",sys.float_info) print("\nInteger value information: ",sys.int_info) print("\nMaximum size of an integer: ",sys.maxsize)
輸出
Float value information: sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) Integer value information: sys.int_info(bits_per_digit=15, sizeof_digit=2) Maximum size of an integer: 2147483647
廣告