2011-03-29 108 views
18

即使不是所有的編程語言,整數,浮點數等,我都知道大多數可以容納的最大數量(無符號或有符號數)。例如pascal的int類型只能保持32768〜。Python數量限制

我想知道的是,什麼是對python的int和浮點變量的限制。我嘗試了一個小程序來產生非常大的數字,但我沒有遇到任何錯誤。它對這些變量有多大有限制?

我看着的文件中,找不到什麼,我一直在尋找:/

幫助將不勝感激,謝謝!

+0

您找不到IEEE浮點信息? http://docs.python.org/tutorial/floatingpoint.html看起來很清楚。 – 2011-03-29 09:58:19

回答

44

早期版本在int上有一個限制,但現在它被刪除了,所以你可以說沒有限制,它取決於你的計算機的內存。檢查this article

+8

A tl; dr版本:小型Python整數適合平臺的機器字(例如32位)。如果一個數字不適合,它會自動提升到一個「長」整數,只要你的RAM允許。你不能真正有一個整數溢出。如果你想打包精確的位數(例如接口到C代碼),你可以導入struct,ctypes。 – 9000 2011-03-29 10:08:55

+0

加上一個好消息:D – 2016-04-29 17:44:51

-1

這個document提供了良好的起點,如sys.float_info

5

見sys模塊:

import sys 
dir(sys) 
print sys.maxint 
help(sys.float_info) 

等。

5

對於「int」,早期版本的Python曾經有過限制。但是,隨着Python將「整數」作爲一個對象,這會被丟棄。因此,儘管python爲value對象引用指向的32位分配,但值超過了2^32,它可以繼續向上移動到計算機上的RAM大小。