十六進製制整數

2021-09-24 19:36:45 字數 1734 閱讀 1970

大的二進位制數讀起來很麻煩,因此十六進製制數字就提供了一種簡便的方式來表示二進位制資料。十六進製制整數中的 1 個數字就表示了 4 位二進位制位,兩個十六進製制數字就能表示乙個位元組。

乙個十六進製制數字表示的範圍是十進位制數 0 到 15,所以,用字母 a 到 f 來代表十進位制數 10 到 15。

下表列出了每個 4 位二進位制序列如何轉換為十進位制和十六進製制數值。

二進位制十進位制

十六進製制

二進位制十進位制

十六進製制

000000

100088

000111

100199

001022

101010a

001133

101111b

010044

1100 12c

010155

110113d

011066

111014e

011177

111115f

下面的例子說明了二進位制數 0001 0110 1010 0111 1001 0100 是如何與十六進製制數 16a794 等價的。16

a794

0001

0110

1010

0111

1001

0100

十六進製制數中,每乙個數字位都代表了 16 的冪。這有助於計算乙個十六進製制整數的十進位制值。假設用下標來對乙個包含 4 個數字的十六進製制數編號 d3d2d1d0。

下式計算了這個 整數的十進位制值:

dec = (d3 x 163) + (d2 x 162) + (d1 x 161) + (d0 x 160)

這個表示式可以推廣到任意n位數的十六進製制整數:

dec = (dn-1 x 16n-1)+ (dn-2 x 16n-2)+…+ (d1 x 161)+ (d0 x 160)

一般情況下,可以通過公式把基數為b的任何n位整數轉換為十進位制數:

dec = (d n-1 x bn-1) + (dn-2 x bn-2) +…+ (d1 x b1) + (d0 x b0)。

比如,十六進製制數1234就等於(1 x 163) + (2 x 162) +(3x161) + (4×160),也就是十進位制數 4660。同樣,十六進製制數 3ba4 等於(3 x 163)+(11 x 162)+(10 x 161)+( 4  x  160),也就是十進位制數15 268。

下圖演示了第二個數轉換的計算過程:

下表列出了 16 的冪從160 到167 的十進位制數值。

16n十進位制值

16n十進位制值

1601

16465 536

16116

1651 048 576

162256

16616 777 216

1634096

167268 435 456

無符號十進位制整數轉換到十六進製制數的過程是,把這個十進位制數反覆除以16,每次取餘數作為乙個十六進製制數字。例如,下表列出了十進位制數 422 轉換為十六進製制的步驟:除法商

餘數422/16266

26/161a

1/1601

表中,餘數列的數字按照最後一行到第一行的順序,組合為十六進製制的結果。因此本例中,十六進製制結果就表示為1a6。同樣的演算法也適用於《二進位制整數》一節中的二進位制整數。如果要將十進位制數轉換為其他進製數,就在計算時把除數(16)換成相應的基數。

十六進製制整數

大的二進位制數讀起來很麻煩,因此十六進製制數字就提供了一種簡便的方式來表示二進位制資料。十六進製制整數中的 1 個數字就表示了 4 位二進位制位,兩個十六進製制數字就能表示乙個位元組。乙個十六進製制數字表示的範圍是十進位制數 0 到 15,所以,用字母 a 到 f 來代表十進位制數 10 到 15。...

十六進製製大整數加法

十六進製製大整數加法 20分 問題描述 編寫程式,從鍵盤讀入形如x y 的表示式計算結果,其中x和y都是合法且長度不超過64位的十六進製製非負整數,結果中所有字元均大寫且無多餘的零。樣例1 輸入1234 1234輸出0x2468 樣例2 輸入0000 12a 輸出0x12a 樣例3 輸入12ff 1...

Excel輸入十六進製制數,以及十六進製制運算

網上覆制來複製去的連個靠譜答案都沒有.f k 所以無奈自己探索出來了 單元格 a1文字值 a2進製值 輸入內容 fefe oct2hex hex2oct a29 由於單元格沒有提供進製格式,所以填入的值實際上是文字值,但是轉換函式卻可以把文字值視為進製值拿去轉換 所以我們兩次轉換就能得到真正的進製數...