在計算機中,負數以其正值的補碼形式表達
什么叫補碼呢?這得從原碼,反碼說起。
原碼:一個整數,按照絕對值大小轉換成的二進制數,稱為原碼。
比如
反碼:將二進制數按位取反,所得的新二進制數稱為原二進制數的反碼。
取反操作指:原為1,得0;原為0,得1。(1變0; 0變1)
比如:將
稱:
反碼是相互的,所以也可稱:
補碼:反碼加1稱為補碼。
也就是說,要得到一個數的補碼,先得到反碼,然后將反碼加上1,所得數稱為補碼。
比如:
那么,補碼為:
整數-1在計算機中如何表示。
假設這也是一個 int類型,那么:
1、先取1的原碼:
2、得反碼:
3、得補碼:
-1在計算機里用二進制表達就是全1。
什么叫補碼呢?這得從原碼,反碼說起。
原碼:一個整數,按照絕對值大小轉換成的二進制數,稱為原碼。
比如
00000000 00000000 00000000 00000101
是 5的 原碼。
反碼:將二進制數按位取反,所得的新二進制數稱為原二進制數的反碼。
取反操作指:原為1,得0;原為0,得1。(1變0; 0變1)
比如:將
00000000 00000000 00000000 00000101
每一位取反,得
11111111 11111111 11111111 11111010
。
稱:
11111111 11111111 11111111 11111010
是
00000000 00000000 00000000 00000101
的反碼。
反碼是相互的,所以也可稱:
11111111 11111111 11111111 11111010
和
00000000 00000000 00000000 00000101
互為反碼。
補碼:反碼加1稱為補碼。
也就是說,要得到一個數的補碼,先得到反碼,然后將反碼加上1,所得數稱為補碼。
比如:
00000000 00000000 00000000 00000101
的反碼是:
11111111 11111111 11111111 11111010
。
那么,補碼為:
11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011
整數-1在計算機中如何表示。
假設這也是一個 int類型,那么:
1、先取1的原碼:
00000000 00000000 00000000 00000001
2、得反碼:
11111111 11111111 11111111 11111110
3、得補碼:
11111111 11111111 11111111 11111111
-1在計算機里用二進制表達就是全1。