閱讀777 返回首頁    go 技術社區[雲棲]


數字機內存儲

數字機內存儲

       原碼(true form)是一種計算機中對數字的二進製定點表示方法。原碼表示法在數值前麵增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
  反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
  補碼(two's complement)——在計算機係統中,數值一律用補碼來表示和存儲。原因在於,使用補碼,可以將符號位和數值位統一處理;同時,加法和減法也可以統一處理。補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。


  【例1】+9的原碼是 00001001。(八位二進製)
            反碼是00001001。
               補碼是00001001。
        
  【例2】-9的原碼是10001001。(八位二進製)
         反碼是11110110。
         補碼是11110111。

 

微笑

int main(int argc, char *argv[])
{
	cout<<(30&(-30));//2 
	//30的補碼 0001 1110 
	//-30補碼  1110 0010
	//按位與   0000 0010=2(dec) 
	return 0;
}


 

最後更新:2017-04-03 12:55:57

  上一篇:go Java中Comparable與Comparator的區別
  下一篇:go android圖片縮放雙擊旋轉效果