標(biāo)題: 小談負(fù)數(shù)在計算機的理解 [打印本頁]

作者: liuyang    時間: 2012-1-11 03:59
標(biāo)題: 小談負(fù)數(shù)在計算機的理解
      負(fù)數(shù)在計算機中是以補碼的形式儲存,而平常我門看到的是正數(shù)前的符號位改成1,這樣便于我們直觀認(rèn)識.比如 5  101.

       在計算機中是以一個字節(jié)儲存的,那么 5是 00000101  -5  就是10000101 這樣我們很容易理解,但是為了參加運算,計算機中常常是以補碼的形式儲存的,即取反+1(符號位不變). 今天看人說為什么負(fù)數(shù)的補碼最高位一定是1,其實很容易解釋,00000001-01111111 是表示正數(shù)的,從1000000-11111111是表示負(fù)數(shù)的儲存的,那么你說最高位是不是一定是1. 至于補碼是怎么回事,看那么理論其實很饒口難以理解.其實你這樣想下 5+(-5)=0 (0有2中情況會出現(xiàn),正常為0還有益處數(shù)據(jù)為0)  正數(shù)和負(fù)數(shù)儲存的數(shù)相加怎么變?yōu)?肯定是用益處,當(dāng)數(shù)值等于256那么數(shù)據(jù)益處低位剛好全為0, 你知道5的2進(jìn)制表示,那么你想想既然+起來是00000000 那么-5的直就出來了,再想想那個補碼法則,取反后加起來運算肯定是11111111然后在加1就變成0了,其實我門常常使用的是便于直觀的正數(shù)最高位換 成1就是負(fù)數(shù)的原碼,實際存儲到數(shù)據(jù)寄存器中就自動以補碼形式儲存為的就是便于計算機運算. 說錯了應(yīng)該是為了便于計算機運算才提出補碼這個定義.


作者: pcbcopy    時間: 2012-1-11 14:45

向高手學(xué)習(xí)。。。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1