重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
小編給大家分享一下Python中一個int類型占了幾個字節,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
Python中int占幾個字節
以python3版本為例說明, int 類型在python中是動態長度的。因為python3中int類型是長整型,理論支持無限大的數字,但它的結構其實也很簡單, 在 longintepr.h 中定義:
struct _longobject { PyObject_VAR_HEAD digit ob_digit[1]; };
這結構是什么意思呢,重點在于 ob_digit 它是一個數組指針。digit 可認為是 int的別名。python的整型存儲機制是這樣的。比方要表示一個很大的數:123456789 。而每個元素大只能表示3位十進制數(為理解打的比方)。那么python就會這樣存儲:
ob_digit[0] = 789 ob_digit[1] = 456 ob_digit[2] = 123
低位存于低索引下。python中整型結構中的數組,每個元素大存儲 15 位的二進制數(不同位數操作系統有差異32位系統存15位,64位系統是30位)。
因此,sys.getsizeof(0) 數組元素為0。此時占用24字節(PyObject_VAR_HEAD 的大小)。 sys.getsizeof(456) 需使用一個元素,因此多了4個字節。
看完了這篇文章,相信你對Python中一個int類型占了幾個字節有了一定的了解,想了解更多相關知識,歡迎關注創新互聯-成都網站建設公司行業資訊頻道,感謝各位的閱讀!