二進制、八進制、十六進制,看完你就懂了


二進制、八進制、十六進制,看完你就懂了

社交媒體

一、什麼是進制

在生活中,我們通常都是使用阿拉伯數字計數的,也就是10進制,以10為單位,遇10進一,所以是由0,1,2、3、4、5、6、7、8、9組成的;而在計算機中,計算機是無法識別10進制數的,它只能識別01代碼,也就是二進制,由0、1兩位數字組成,逢二進一。

那麼什麼是進制呢,進制就是進位制,是人們規定的一種數字進位方法;對於任何一種進制(X進制),都表示某一位置上的數運算時是逢X進一位,如:二進制就是逢二進一,八進制就是逢八進一, 十進制是逢十進一,十六進制是逢十六進一,以此類推。

二、二進制、八進制、十進制、十六進制簡介

二進制:由0,1組成,運算規律是逢二進一,計算機只能識別二進制表示的數據;

八進制:由0、1、2、3、4、5、6、7組成,運算規律是逢八進一;

十進制:由0,1,2、3、4、5、6、7、8、9組成,運算規律是逢十進一;

十六進制:由數字0~9以及字母A,B,C,D,E,F組成,運算規律是逢十六進一;


三、進制轉換

以十進制數13為例,實現各進制數的轉換:

1. 十進制和二進制之間相互轉換:

十進制--->二進制:

對於整數部分,用被除數反覆除以2,除第一次外,每次除以2均取前一次商的整數部分作被除數並依次記下每次的餘數。

另外,所得到的商的最後一位餘數是所求二進制數的最高位。


二進制、八進制、十六進制,看完你就懂了

圖1,十進制轉二進制


二進制--->十進制:

進制數第1位的權值是2的0次方,第2位的權值是2的1次方,第2位的權值是2的2次方,依次計算,公式:第N位 * 2的N-1次方,結果再相加便是最後結果。


二進制、八進制、十六進制,看完你就懂了

圖2,二進制轉十進制


2. 十進制和八進制之間轉換:

  • 十進制--->八進制:

10進制數轉換成8進制的方法,和轉換為2進制的方法類似,唯一變化:將圖1中的基數由2變成8,然後依次計算。

  • 八進制--->十進制:

可參考圖2中二進制的計算過程: 進制數第1位的權值為8的0次方,第2位權值為8的1次方,第3位權值為8的2次方,依次計算,公式:第N位 * 8的N-1次方,結果再相加便是最後結果。


3. 十進制和十六進制之間轉換:

  • 十進制--->十六進制:

10進制數轉換成16進制的方法,和轉換為2進制的方法類似,唯一變化:將圖1中的基數由2變成16,然後依次計算。

  • 十六進制--->十進制:

第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方,依次計算,公式:第N位 * 16的N-1次方,結果再相加便是最後結果。


4. 二進制和八進制之間轉換: 可先轉換為十進制在轉換為二進制或者八進制

5. 二進制和十六進制之間轉換: 可先轉換為十進制在轉換為二進制或者十六進制

6. 八進制和十六進制之間轉換: 可先轉換為十進制在轉換為十六進制或者八進制


四、二進制數字存儲單位

在計算機的二進制數系統中,位簡記為bit,也稱為比特,是數據存儲的最小單位,每個二進制數字0或1就是一個位(bit),也就是一比特;也可以把二進制中的0和1看做開關中的“開”和“關”,1表示“開”,0表示“關”。

  • 8 bit(位)= 1B,也就是一個字節(Byte),然而1KB卻不等於1000B,下面是詳細的計算規則:
  • 1B(byte,字節)= 8 bit;
  • 1KB(Kibibyte,千字節)= 1024B = 2^10 B;
  • 1MB(Mebibyte,兆字節,百萬字節,簡稱“兆”)= 1024KB = 2^20 B;
  • 1GB(Gigabyte,吉字節,十億字節,又稱“千兆”)= 1024MB = 2^30 B;
  • 1TB(Terabyte,萬億字節,太字節)= 1024GB = 2^40 B;
  • 1PB(Petabyte,千萬億字節,拍字節)= 1024TB = 2^50 B;

以上這些是二進制數的存儲單位計算規則,而在硬盤容量也能看到類似的單位,但是硬盤的容量通常是以十進制標識的,所以顯示有500G容量的硬盤實際容量卻不足500G。


五、原碼、反碼和補碼

在計算機內,有符號數(這裡的符號指的是正負符號,有符號數指的就是正負數)有3種表示法:原碼、反碼和補碼,所有數據的運算都是採用補碼進行的:

1. 正數的原碼,反碼,補碼都相同;

2. 負數的有些不同,詳情如下:

  • 原碼:根據二進制定點表示法,二進制最高位為符號位,“0”表示正,“1”表示負,其餘位表示數值的大小。
  • 反碼:負數的反碼是對其原碼逐位取反(0變1,1變0),但符號位除外。
  • 補碼:負數的補碼是在其反碼的末位加1(逢二進一)。

需要注意的是:求反碼的時候,最高位(符號位)是不能被改變的, 正數的符號位是0,負數的符號位是1。

例子:分別求出5和-5的原碼、反碼和補碼


二進制、八進制、十六進制,看完你就懂了

原碼、反碼和補碼


分享到:


相關文章: