matengfei
攻人之過勿太嚴,要思其堪受;教人以善勿過高,要令其可從。
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 737 個
工控威望: 1054 點
下載積分: 2482 分
在線時間: 207(小時)
注冊時間: 2011-08-07
最后登錄: 2017-06-10
查看matengfei的 主題 / 回貼
樓主  發(fā)表于: 2013-07-30 15:50
有符號字的取值范圍-32768~32767,一個字由16個位(b0-b15)組成,最高位為符號位:如果為0則表示正數(shù);如果為1則表示負數(shù)。
除去最高位的b0-b14位,如果低b0-b14位都為1,則b0-b14位和為2的15次方減1,等于32767.     加上符號位(最高位).
那么有符號字的取值范圍應該為-32767~32767。為什么是-32768~32767呢?

sanlihu
吉圓
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1189 個
工控威望: 1734 點
下載積分: 7546 分
在線時間: 577(小時)
注冊時間: 2012-08-31
最后登錄: 2024-11-02
查看sanlihu的 主題 / 回貼
1樓  發(fā)表于: 2013-07-31 11:59
計算機是工具,我們發(fā)明它,就可規(guī)定它的一切。
b15b14........b1b0連續(xù)16個位可存放0000000000000000到1111111111111111個狀態(tài)。
人為規(guī)定:最高位b15是表示這個數(shù)的符號=0表示它是一個正數(shù)。=1表示它是個負數(shù)。
這樣,16個連續(xù)0表示+0,0000000000000000=+0正數(shù)最小數(shù)
            0000000000000001=+1
            ..............................................
            0111111111111110=+32766
            0111111111111111=+32767正數(shù)最大數(shù)
 正數(shù)最大數(shù)加1變成:1000000000000000此時我們的規(guī)定它表示一個負數(shù),它表示多少暫不管。
     再加"1"變成:1000000000000001,它是+32767按位求反再加1的結(jié)果。規(guī)定它表示-32767。
                     .......................................
                                           1111111111111110=-2
                                           1111111111111111=-1 (1000000000000000=-32768就好理解了)
計算機思想非常符合中國古人的哲學觀點。比正的最大數(shù)大1的數(shù)就是負的最大數(shù)了!
吉圓電氣 QQ751673698