二進位制資料與原碼 反碼 補碼

2021-06-27 14:38:29 字數 1465 閱讀 4487

一、二進位制基礎

位運算是指二進位制位的運算,在系統軟體中,經常要處理一些二進位制位的問題,例如:在進行計算機之間的通訊的時候需要通過某些標誌位來進行判斷通訊是否成 功。

計算機中的儲存器就是由許多位元組(byte)單元組成的。一般,記憶體的最小度量單位就叫做位(bit),也叫位元。而乙個位元組就是由8個二進位制 位組成,其中,最右邊的一位叫做最低位最 左邊的一位叫做最高位

所以,乙個16位的整數將在記憶體中佔據2個位元組的儲存空間,乙個32位的整數型別佔據4個位元組的儲存空間。

資料有原碼、反碼、補碼3種表示形式,下面我們逐一學習!

二、原碼、反碼、補碼介紹

①原碼

原碼是指將最高位作為符號位(0表示正,1表示負),其它數字位代表數值本身的 絕對值的數字表示方式。

例如:數字6在 計算機中原碼表示為:0000 0110

其 中,第乙個數字0是符號位,0表示正數,0000110 是數字6的二進位制資料表示。

數字-6在計算 機中原碼表示為:1000 0110

以上是在8位計算機中的原碼表示,如果在32位或16位計算機中,表示方法也是一樣的,只是多了幾個數字0而已。

例如,在32位計算機中數字6的 原碼表示為:0000 0000 0000 0000 0000 0000 0000 0110

16位計算機中數字6的 原碼表示為:0000 0000 0000 0110

②反碼

反碼表示規則為:如果是正數,則表示方法和原碼一樣;如果是負數,則保留符號位 1,然後將這個數字的原碼按照每位取反,則得到這個數字的反碼表示形式。

例如,數字68位計 算機中的反碼就是它的原碼:0000 0110

數字-6在 8位計算機中的反碼為:1111 1001

③補碼

補碼是計算機表示資料的一般方式,其規則為:如果是整數,則表示方法和原碼一 樣;如果是負數,則將數字的反碼加上1(相當於將原碼數值位取反然後在最低位加1)。

例如:數字68位計算機中的補碼就是它的原 碼:0000 0110

數字-68 位計算機中的補碼為:1111 1010

二進位制原碼 反碼 補碼詳解

原碼 原碼是指將最高位作為符號位 0表示正,1表示負 其它數字位代表數值本身的絕對值的數字表示方式。例如 數字6 在計算機中原碼表示為 0 000 0110 其中,第乙個數字0是符號位,0表示正數,0 000110是數字6的二進位制資料表示。數字 6 在計算機中原碼表示為 1 000 0110 以上...

二進位制 真值 原碼 反碼 補碼

機器數 乙個數在計算機中二進位制的表示形式叫機器數,機器數是帶符號的 計算機使用最高位來表示符號位 負數為1 正數為0.假如計算機的字長為8位 那麼對於十進位制3的機器數表示為0000 0011 而對於 3的機器數表示為1000 0011。真值 由於機器數是帶符號的所以機器數的形式值就不等於實際的值...

java 二進位制原碼,反碼,補碼

強制型別轉換,用到原反補碼 就是二進位制定點表示法,即最高位為符號位,0 表示正,1 表示負,其餘位表示數值的大小。通過乙個位元組,也就是8個二進位制位表示 7和 7 0 符號位 0000111 1 符號位 0000111 正數的反碼與其原碼相同 負數的反碼是對其原碼逐位取反,但符號位除外。正數的補...