aabbcc296
級(jí)別: 論壇先鋒
|
請(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ū)上說(shuō)整數(shù)用補(bǔ)碼來(lái)表示,補(bǔ)碼是什么意思啊? 怎么表示負(fù)數(shù)呀?1000 0000 0000 1010是不是就是—6呀? 0000 0000 0000 1010是不是就是6呀? |
---|---|
|
fanuc_zgj
級(jí)別: 探索解密
|
負(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),因而它也就沒(méi)有了原碼和反碼。 |
---|---|
本帖最近評(píng)分記錄: |