目錄
操作符分類
2進制和進制轉換
2進制轉10進制
10進制轉2進制
2進制轉8進制和16進制
2進制轉8進制
2進制轉16進制
原碼、反碼、補碼
操作符分類
操作符中有一些操作符和二進制有關系,我們先鋪墊一下二進制的和進制轉換的知識。
2進制和進制轉換
其實我們經常能聽到2進制、8進制、10進制、16進制這樣的講法,那是什么意思呢?其實2進制、8進制、10進制、16進制是數值的不同表示形式而已。
比如:數值15的各種進制的表示形式:
15的2進制:1111
15的8進制:17
15的10進制:15
15的16進制:F
我們重點介紹一下二進制:
首先我們還是得從10進制講起,其實10進制是我們生活中經常使用的:
?10進制中滿10進1。
?10進制的數字每一位都是0~9的數字組成。
其實2進制也是一樣:
?2進制中滿2進1。
?2進制的數字每一位都是0~1的數字組成那么1101就是二進制的數字了。
2進制轉10進制
其實10進制的123表示的值是一百二十三,為什么是這個值呢?其實10進制的每一位是權重的,10進制的數字從右向左是個位、十位、百位.....,分別每一位的權重是 ?
如下圖:

2進制和10進制是類似的,只不過2進制的每一位的權重,從右向左是:如果是2進制的1101,該怎么理解呢?

10進制轉2進制

2進制轉8進制和16進制
2進制轉8進制
8進制的數字每一位是0~7的,0~7的數字,各自寫成2進制,最多有3個2進制位就足夠了,比如7的二進制是111,所以在2進制轉8進制數的時候,從2進制序列中右邊低位開始向左每3個2進制位會換算一個8進制位,剩余不夠3個2進制位的直接換算。
如:2進制的01101011,換成8進制:0153,0開頭的數字,會被當做8進制。
2進制轉16進制
16進制的數字每一位是0~9,a ~f的,0~9,a ~f的數字,各自寫成2進制,最多有4個2進制位就足夠了,比如f的二進制是1111,所以在2進制轉16進制數的時候,從2進制序列中右邊低位開始向左每4個2進制位會換算一個16進制位,剩余不夠4個二進制位的直接換算。
如:2進制的01101011,換成16進制:0x6b,16進制表示的時候前面加0x
原碼、反碼、補碼
整數的2進制表示方法有三種,即原碼、反碼和補碼
有符號整數的三種表示方法均有符號位和數值位兩部分,2進制序列中,最高位的1位是被當做符號位,剩余的都是數值位。??????????????????????????????????????????????????????????????????????????????????????????????????????????????? 符號位都是用0表示“正”,用1表示“負”。
🔺正整數的原、反、補碼都相同
🔺負整數的三種表示方法各不相同
原碼:直接將數值按照正負數的形式翻譯成二進制得到的就是原碼。
反碼:將原碼的符號位不變,其他位依次按位取反就可以得到反碼。
補碼:反碼+1就得到補碼。
反碼得到原碼也是可以使用:取反,+1的操作。
對于整形來說:數據存放內存中其實是存放的補碼
為什么呢?
在計算機系統中,數值一律用補碼來表示和存儲。原因在于,使用補碼,可以將符號位和數值域統一處理; 同時,加法和減法也可以統一處理(CPU只有加法器)此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬件電路。
?以上便是我為大家帶來的進制轉換,原碼,反碼,補碼內容,若有不足,望各位大佬在評論區指出,謝謝大家!可以留下你們點贊、收藏和關注,這是對我極大的鼓勵,我也會更加努力創作更優質的作品。再次感謝大家!?