位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

C語言基礎(chǔ)知識(shí)—計(jì)算機(jī)內(nèi)存數(shù)值存儲(chǔ)方式

提問人:ylm發(fā)布時(shí)間:2020-09-25

1>.原碼

 

一個(gè)數(shù)的原碼(原始的二進(jìn)制碼)有如下特點(diǎn):

    最高位作為符號(hào)位,0表示正,1表示負(fù);

    其它數(shù)值部分都是數(shù)值本身絕對(duì)值的二進(jìn)制數(shù);

    負(fù)數(shù)的原碼是在其絕對(duì)值的基礎(chǔ)上,最高位變?yōu)?/span>1;

 

舉個(gè)例子,我們用一個(gè)字節(jié)的原碼來表示+15-15,+0,-0

    +15  0000 1111

    -15  1000 1111

    +0   0000 0000

    -0   1000 0000

 

    原碼表示方法簡(jiǎn)單易懂,帶有符號(hào)數(shù)本身轉(zhuǎn)換方便,只要符號(hào)位還原即可,但當(dāng)兩個(gè)整數(shù)相減或不同符號(hào)相加時(shí),必須比較兩個(gè)數(shù)哪個(gè)絕對(duì)值大,才能決定誰減誰,才能確定結(jié)果是正還是負(fù),所以原碼不便于加減運(yùn)算。

 

2>.反碼

 

一個(gè)數(shù)的反碼(原始的二進(jìn)制碼)有如下特點(diǎn):

   對(duì)于正數(shù),反碼與原碼相同;

    對(duì)于負(fù)數(shù),符號(hào)位不變,其它部位去反;

    

舉個(gè)例子,我們用一個(gè)字節(jié)的反碼來表示+15,-15+0,-0

  +15 0000 1111

  -15 1111 0000

  +0 :  0000 0000

   -0  :  1111 1111

 

  反碼運(yùn)算也不方便,通常用來作為求補(bǔ)碼的中間過渡

 

3>.補(bǔ)碼

 

在計(jì)算機(jī)中,數(shù)值一律用補(bǔ)碼來存儲(chǔ)。補(bǔ)碼特點(diǎn)如下:

  對(duì)于正數(shù),原碼,反碼,補(bǔ)碼相同;

  對(duì)于負(fù)數(shù),其補(bǔ)碼為它的反碼加1;

  補(bǔ)碼符號(hào)位不動(dòng),其他為求反,最后整個(gè)數(shù)加1,得到原碼;

 

舉個(gè)例子,我們用一個(gè)字節(jié)的補(bǔ)碼來表示+15,-15,+0,-0

  +15 0000 1111

  -15 1111 0001

  +0  0000 0000

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部