進製轉換 以常見的二進位制,8進製,16進製制舉例

2022-10-08 18:30:10 字數 1265 閱讀 7212

二進位制數里沒有2 比如 1001 , 錯誤示例: 12

8進製數里沒有8 , 比如 249, 錯誤示例: 18

10進製裡也沒有十 ,(注意:這裡指的 沒有 是指沒有單個位數的乙個數, 我們常見的10 實際上因為到了9以後逢10,然後進了一位,從一位數的9 變成了 1 0 兩位數,並沒有單獨表示10的這麼乙個數)

16進製制

根據上文中的說法, 16進製制應該沒有16, 但是阿拉伯陣列只有10個(即0-9),那該怎麼辦呢?

對於9以後的數,我們用字母表示, 比如: 在16進製制中, 我們單個位數上的數字有 1,2,3,4,5,6,7,8,9,(重點來了),在9以後,我們用 a表示10, b,表示11,c表示12...最後到f代表15,因為是16進製制沒有16嘛,所以到f就結束

2進製轉10進製

由於常見的是2進製,所以下面我們拿2進製舉例,道理都是一樣的

首先看乙個二進位制數, 比如101

方法:也就是說,將二進位制數轉換為十進位制數,就是將每個位數的數(只有1或者0)乘2的n次方(這個n就是由從右邊數的第n位,注意右邊第一位從0開始)

n進製轉換為10進製

方法與2進製也基本相同,只是將上述的2次方換為n即可

例如, 16進製制的 10 就等於十進位制的 0*(16^0) + 1*(16^1) = 16

方法:將要轉換的數逐漸除以n(2進製就是n就是2),餘數保留,直到最後的商等於0為止

最後將得到的餘數逆序擺出得到的數就是對應的二進位制數

例如十進位制的302: ( "/"代表除以的意思)

302/2 = 151 餘0

151/2 = 75 餘1

75/2 = 37 餘1

37/2 = 18 餘1

18/2 = 9 餘0

9/2 = 4 餘1

4/2 = 2 餘0

2/2 = 1 餘0

1/2=0 餘1

得到的餘數依次是0 1 1 1 0 1 0 0 1,將其逆序擺出得到的數為100101110,就是302的二進位制數

我們可以先將2進製其轉換為我們熟悉的10進製,將10進製再轉換為8進製即可,這裡不在贅述

縮短二進位制(進製轉換)

題目鏈結 題目描述 我們處理的整數通常用十進位制表示,在計算機記憶體中是以二進位制補碼形式儲存,但通常二進位制表示的整數比較長,為了便於在程式設計過程中理解和處理資料,通常採用八進位制和十六進製制,縮短了二進位制補碼表示的整數,但保持了二進位制數的表達特點。請輸出十進位制整數1234對應的八進位制和...

二進位制轉換

e.g 二進位制轉換為八進位制 e.g 求10111001的八進位制 三位三位擷取,分解為 10 111 001 001 2的0次 1 111 2的0次 2的1次 2的2次 7 10 2的0次 2的1次 2 所以,八進位制為271 二進位制轉換為十六進製制 e.g 求10111001的十六進製制 四...

二進位制轉換

負整數小數 負小數十進位制 2的次冪 二進位制1 200001221 0010 321 20 0011422 0100 522 20 0101 622 21 0110 722 21 20 0111823 1000 比如 100轉成二進位制 1,轉成2的次冪 100 26 25 22 2,0000 0...