當前位置:編程學習大全網 - 網站源碼 - 原碼、反碼、補碼的概念和應用

原碼、反碼、補碼的概念和應用

原碼、反碼、補碼的換算

原碼: 第壹位表示符號位,1為負,0為正

? +1源碼 0000 0001

? -1 源碼1000 0001

原碼轉反碼:正值反碼是其本身,負值的反碼符號位不變,其余值取反

+1 原碼 0000 0001 反碼 0000 0001

-1 原碼1000 0001 反碼1111 1110

源碼轉補碼:正值的補碼是它本身,負值的補碼符號位不變,其它反碼+1

?+1 原碼 0000 0001 反碼0000 0001 補碼0000 0001

? -1 原碼 1000 0001 反碼1111 1110? 補碼1111 1111

計算機中,負值是以補碼形式存在的

應用舉例

? public class A {

static void main String(string[] args){

int b = 456;

byte a = (byte)b;

System.out.println(); // -56

}

}

解釋:

1)456,int類型? 為 00000000 00000000 00000001 1100 10000

2)強制類型轉換成byte類型,byte為8位,所以 (byte 456) 1100 1000

3)首字符為1,是負值,計算機中,負數是以補碼形式存在的

4)所以,byte 456,原碼的反碼:補碼 - 1 ,符號位不變,值-1,為1100 0111補,原碼負數的符號位不變,其他值取反:1011 1000原轉成十進制是-56

  • 上一篇:益陽四方科技有限公司怎麽樣?
  • 下一篇:黑客命令哪裏輸入···如題 謝謝了
  • copyright 2024編程學習大全網