aabbcc296
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 862 個(gè)
工控威望: 1255 點(diǎn)
下載積分: 6053 分
在線時(shí)間: 607(小時(shí))
注冊(cè)時(shí)間: 2009-03-07
最后登錄: 2020-11-25
查看aabbcc296的 主題 / 回貼
樓主  發(fā)表于: 2011-11-18 12:17
請(qǐng)教:16位整數(shù)的負(fù)數(shù)最小怎么是-32768?  最高位為0時(shí)為正數(shù),為1時(shí)為負(fù)數(shù)。如果是最小的負(fù)數(shù),二進(jìn)制表示為       1111   1111   1111   1111,應(yīng)為—32767呀!
書上說整數(shù)用補(bǔ)碼來表示,補(bǔ)碼是什么意思?
怎么表示負(fù)數(shù)呀?1000   0000   0000    1010是不是就是—6呀?
0000   0000   0000    1010是不是就是6呀?
fanuc_zgj
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 35 個(gè)
工控威望: 191 點(diǎn)
下載積分: 535 分
在線時(shí)間: 15(小時(shí))
注冊(cè)時(shí)間: 2011-11-18
最后登錄: 2015-11-21
查看fanuc_zgj的 主題 / 回貼
1樓  發(fā)表于: 2011-11-18 13:38
負(fù)數(shù)的補(bǔ)碼就是對(duì)反碼加一,而正數(shù)不變,正數(shù)的原碼反碼補(bǔ)碼是一樣的。
采用補(bǔ)碼表示時(shí),16位整數(shù)的負(fù)數(shù)最小數(shù)就是-32768,而正數(shù)最大數(shù)是32767;

16位原碼表示的整個(gè)數(shù)據(jù)區(qū)間為:【-32767——  -0,+0 ——32767】
16位補(bǔ)碼表示的整個(gè)數(shù)據(jù)區(qū)間為:【-32768——0——32767】
請(qǐng)注意這兩種碼表示的個(gè)數(shù)總數(shù)是一樣的,但補(bǔ)碼表示的數(shù)據(jù)卻是唯一的;

[1111  1111  1111  1111] 原碼表示時(shí)確為-32767,但當(dāng)采用補(bǔ)碼表示時(shí),規(guī)定由-32768由于代替了-0(為了確保整個(gè)數(shù)據(jù)區(qū)間只有一個(gè)0,而不是一個(gè)+0和一個(gè)-0),因而它也就沒有了原碼和反碼。
本帖最近評(píng)分記錄:
  • 下載積分:+5(aabbcc296) 熱心助人