3 回答

TA貢獻(xiàn)1790條經(jīng)驗(yàn) 獲得超9個(gè)贊
計(jì)算二進(jìn)制表示中 1 的數(shù)量。其中有 63 個(gè)。讓我們寫(xiě)入 64 位,這樣我們就可以看到前導(dǎo) 0:
0111111111111111111111111111111111111111111111111111111111111111
這是最大的 64 位整數(shù):63 個(gè) 1 位,第 64 位為 0。如果最左邊的位是 1,我們將有-1. 哦親愛(ài)的!當(dāng)符號(hào)位為 1 時(shí),我們得到負(fù)數(shù)。那不好。64 個(gè) 1 實(shí)在太多了。
以上,4人一組:
0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
并以十六進(jìn)制表示:
0111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
7 f f f f f f f f f f f f f f f

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
在 2 的補(bǔ)碼中,可以用N
位表示的最高正數(shù)0
后跟N-1
1
's。將所有N
位設(shè)置為1
產(chǎn)生 的表示-1
。
所以在 64 位系統(tǒng)上,最大整數(shù)是 63 個(gè) 1 位。以十六進(jìn)制表示,7
后跟 7 f
。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
在 64 位表示中,可以表示的最高數(shù)是2^63-1,
>>> import sys
>>> sys.maxint
9223372036854775807
>>> hex(9223372036854775807)
'0x7fffffffffffffff'
>>> (2**63)-1
9223372036854775807L
它適用于任何 N 位表示。例如對(duì)于 8 位,最大值為2^7-1
>>> hex(127)
'0x7f'
>>> hex(128)
'0x80'
添加回答
舉報(bào)