aabbcc296
級別: 論壇先鋒
![]() |
請教:16位整數的負數最小怎么是-32768? 最高位為0時(shí)為正數,為1時(shí)為負數。如果是最小的負數,二進(jìn)制表示為 1111 1111 1111 1111,應為—32767呀! 書(shū)上說(shuō)整數用補碼來(lái)表示,補碼是什么意思? 怎么表示負數呀?1000 0000 0000 1010是不是就是—6呀? 0000 0000 0000 1010是不是就是6呀? |
---|---|
|
ymmfa
不想大江大河,不想浪起潮落,只愿一灣小湖,靜待歲月安好。
級別: 管理員
![]() ![]() |
我記得有些東西,16位正的上限是32767,如果再大,就變成-32768了。 |
|
---|---|---|
本帖最近評分記錄:
|
fanuc_zgj
級別: 探索解密
![]() |
負數的補碼就是對反碼加一,而正數不變,正數的原碼反碼補碼是一樣的。 采用補碼表示時(shí),16位整數的負數最小數就是-32768,而正數最大數是32767; 16位原碼表示的整個(gè)數據區間為:【-32767—— -0,+0 ——32767】 16位補碼表示的整個(gè)數據區間為:【-32768——0——32767】 請注意這兩種碼表示的個(gè)數總數是一樣的,但補碼表示的數據卻是唯一的; [1111 1111 1111 1111] 原碼表示時(shí)確為-32767,但當采用補碼表示時(shí),規定由-32768由于代替了-0(為了確保整個(gè)數據區間只有一個(gè)0,而不是一個(gè)+0和一個(gè)-0),因而它也就沒(méi)有了原碼和反碼。 |
---|---|
本帖最近評分記錄: |