2 回答

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊
不是20億數(shù)字,而是20億的實(shí)際價(jià)值。
32 位的引用表示 python 可以存儲(chǔ)一個(gè)普通整數(shù)的位數(shù)。位以 2 為基數(shù)表示(因?yàn)槲豢梢允?0 或 1),而我們更常見(jiàn)的以 10 為基數(shù)的數(shù)字是以 10 為基數(shù)表示的。 以 2 為基數(shù)的數(shù)字 1 是 1,但是基數(shù) 2 中的數(shù)字 2 是 10 - 就像在基數(shù) 10 中一樣,我們從 9 到 10。
可以存儲(chǔ)在 32 位中的最大值是您可以翻轉(zhuǎn) 32 個(gè) 1 或 0 的組合數(shù)。這將使以下數(shù)字為2^32
(=4 294 967 296)。但是需要減去1才能得到最大值,因?yàn)?也是一個(gè)組合,使得最大的無(wú)符號(hào)數(shù)為4 294 967 295。
為了也表示負(fù)數(shù),第一位通常保留用于對(duì)整數(shù)進(jìn)行簽名(1 表示負(fù)數(shù),0 表示正數(shù)),因此它大致分為兩半,使最小的數(shù) -2 147 483 648 和最大的數(shù) 2 147 483 647。

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
位是可以存儲(chǔ) 0 或 1 的少量計(jì)算機(jī)空間。
所以,如果我有 32 位,我可以表示范圍從
00000...000(32 個(gè)零)
到
11111...111(32個(gè))
當(dāng)以二進(jìn)制編寫(xiě)時(shí)。
32 的數(shù)字是 4,294,967,295。這意味著,以最簡(jiǎn)單的方式,我們可以表示從 0 到 4,294,967,295 的所有數(shù)字?,F(xiàn)在,在大多數(shù)情況下,我們也想表示負(fù)數(shù),因此我們通過(guò)將 的范圍從0 to 4,294,967,295
移動(dòng)一點(diǎn)來(lái)劃分范圍-2,147,483,648 to 2,147,483,647
。(這是如何完成的本身很有趣,請(qǐng)查看Two's Complement)
因此,您提供的摘錄實(shí)際上說(shuō) Python 中的整數(shù)以 32 位存儲(chǔ),這意味著 Python 中的整數(shù)可以小到 -2,147,483,648,大到 2,147,483,647。(除此之外,它在內(nèi)部被視為 bigint,以不同的方式存儲(chǔ))。
添加回答
舉報(bào)