即使不是所有的編程語言,整數,浮點數等,我都知道大多數可以容納的最大數量(無符號或有符號數)。例如pascal的int類型只能保持32768〜。Python數量限制
我想知道的是,什麼是對python的int和浮點變量的限制。我嘗試了一個小程序來產生非常大的數字,但我沒有遇到任何錯誤。它對這些變量有多大有限制?
我看着的文件中,找不到什麼,我一直在尋找:/
幫助將不勝感激,謝謝!
即使不是所有的編程語言,整數,浮點數等,我都知道大多數可以容納的最大數量(無符號或有符號數)。例如pascal的int類型只能保持32768〜。Python數量限制
我想知道的是,什麼是對python的int和浮點變量的限制。我嘗試了一個小程序來產生非常大的數字,但我沒有遇到任何錯誤。它對這些變量有多大有限制?
我看着的文件中,找不到什麼,我一直在尋找:/
幫助將不勝感激,謝謝!
早期版本在int
上有一個限制,但現在它被刪除了,所以你可以說沒有限制,它取決於你的計算機的內存。檢查this article。
A tl; dr版本:小型Python整數適合平臺的機器字(例如32位)。如果一個數字不適合,它會自動提升到一個「長」整數,只要你的RAM允許。你不能真正有一個整數溢出。如果你想打包精確的位數(例如接口到C代碼),你可以導入struct,ctypes。 – 9000 2011-03-29 10:08:55
加上一個好消息:D – 2016-04-29 17:44:51
這個document提供了良好的起點,如sys.float_info
。
見sys模塊:
import sys
dir(sys)
print sys.maxint
help(sys.float_info)
等。
對於「int」,早期版本的Python曾經有過限制。但是,隨着Python將「整數」作爲一個對象,這會被丟棄。因此,儘管python爲value對象引用指向的32位分配,但值超過了2^32,它可以繼續向上移動到計算機上的RAM大小。
您找不到IEEE浮點信息? http://docs.python.org/tutorial/floatingpoint.html看起來很清楚。 – 2011-03-29 09:58:19