首先我們要對原碼、反碼和補碼有個了解:
1、所謂原碼就是二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負,其余位表示數值的大小。
2、反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
原碼10010= 反碼11101 (10010,1為符號碼,故為負)
(11101) 二進制= -13 十進制
3、補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
舉一例,我們來看整數-1在計算機中如何表示。
假設這也是一個int類型,那么:
1、先取1的原碼:00000000 00000000 00000000 00000001
2、得反碼: 11111111 11111111 11111111 11111110
3、得補碼: 11111111 11111111 11111111 11111111
java 的負數都是用補碼表示。