一秋度、概述
目前的計算機的最小存儲單位是字節(jié)(8bit),對于不同大小的整數(shù)分別使用
1個钱床、2個荚斯、4個、8個字節(jié)存儲查牌。但實際存儲的2進制位是什么樣的呢?
二事期、整數(shù)的存儲
- 0 : 全是0表示
- 正整數(shù) : 直接轉(zhuǎn)換為2進制存儲
-
負整數(shù) : 使用補碼形式存儲。
以8位存儲進行學(xué)習(xí)
三纸颜、正整數(shù)的2進制存儲----源碼
把正整數(shù)換為2進制,然后湊夠8位,不夠添0,第一位理解為符號位兽泣。
10=8+2=1010=0b00001010
11111111=255
思考: 1個字節(jié)能夠表示最大的整數(shù)是多少?
四、負整數(shù)的2進制存儲(補碼)
(一)胁孙、求其絕對值的2進制表示(類似于正數(shù))----原碼
|-5|=5=0b00000101
(二)唠倦、然后每位取反------反碼
0b00000101
0b11111010
(三)、然后+1得到補碼-------補碼
0b11111010+1=0b11111011
即-5=0b11111011
五涮较、負數(shù)為什么用補碼表示
一個數(shù)用什么樣的2進制序列表示都可以,只要保證一一對應(yīng)關(guān)系稠鼻。
(一)、為什么不用直接表示法呢?
如果第一位是符號位狂票,則:
5= 0000 0101
-5= 1000 0101
--------------求和
-10=1000 1010
(二)候齿、使用補碼的好處?
答:便于計算,如:
5= 0000 0101
-5= 1111 1011
---------------求和
1 0000 0000 (超過8位,溢出不要)得到0
思考:-128的2進制是什么?
六、總結(jié)
- 如果最高位是0,則表示是正數(shù),如果是1則表示負數(shù)
- 根據(jù)補碼規(guī)則,-1=0b1111 1111;-127=0b1000 0001
- 根據(jù)補碼規(guī)則,0b1000 0000=-128(-127-1=0b1000 0001-1)
- 8位2進制能表示的整數(shù)范圍是(-128~127)