什麼是十六進位制

2021-03-05 09:21:29 字數 7709 閱讀 7198

1樓:匿名使用者

要想學漢化就必需要懂得十六進位制

!下面來講什麼是十六進位制

下面是幾種進位制的計算方式:十進位制:

有10個基數:0 ~~ 9 ,逢十進一

二進位制:

有2 個基數:0 ~~ 1 ,逢二進一

八進位制:

有8個基數:0 ~~ 7 ,逢八進一

十六進位制:

有16個基數:0 ~~ 9,a,b,c,d,e,f(a=10,b=11,c=12,d=13,e=14,f=15) ,逢十六進一。

先講我們經常用到的十進位制,從0數到9,到第10個數時進1是10,再跟上數11、12…十進位制幾歲小孩都懂!呵~ 而16進位制也一樣,我們從0數到1、2、3…a、b…f,數到f時(也就是第16個數時)進一是10,跟著數11、12、13…18、19、1a、1b…這樣數下去。逢16進一!

下面有兩個例題問題:

(199)用10進位制轉16進位制是多少?

答案:199=16*12+7=c7

(注16進位制中a=10,b=11,c=12,d=13,e=14,f=15)

怎麼會16*12再加7呢?

99\16=12 餘7 所以=c7

16進位制是0—f.c就是12,所以是c7

再舉個例 十進位制的10等於十六進位制的a

將下列10進位制數轉換成16進位制數

23050032110242000

答案如下

先記住1、16、256、4096這幾個數字,即16的平方、16的立方等等。根據待轉換的數在上述數字中尋找一個最大的除數,做除法得到商和餘數。把商寫下來,拿餘數重複該步驟即可

以321為例:321/256 = 1 餘 65 ==》寫下165/16 = 4 餘 1 ==》寫下141/1 = 1餘 0 ==》寫下141即十進位制321等於十六進位制141. 不懂的可以參考許願的教程。

應大家的要求再舉個例,其實漢化不需要什麼16進位制公式,公式是為了讓大家理解16進位制,反而起了反作用讓大家覺得更加複雜!

現在我們不往公式那邊想,我想到一個能幫助大家容易理解十六進位制的方法,我先給大家舉個十進位制的例子,幫大家容易理解十進位制基數0—9組成,逢十進一,也就是數到9就進一

例十進位制:

00001

00002

00003

00004

00005

00006

00007

00008

00009

00010

00011

00012

00013

十進位制誰都會,只是舉個例,以數數的方式來理解就可以了

十六進位制有16個基數,0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f

十六進位制逢十六進一,也就是數到f時進一再從0開始數

例:00000

00001

00002

00003

00004

00005

00006

00007

00008

00009

0000a

0000b

0000c

0000d

0000e

0000f

00010

00011

00012

00013

00014

00015

00016

00017

00018

00019

0001a

0001b

0001c

0001d

0001e

0001f

00020

00021

00022

00023

00024

00025

00026

00027

00028

00029

0002a

0002b

0002c

0002d

0002e

0002f

00030

雖然很哆嗦,這樣可能大家容易理解些10進位制轉16進位制公式不會,點數會吧!

例cb下個數是 ? 下個是cc

ef下個數是多少 是f0

16進位制沒有ef代表15 數到f前進一,就像數10進位制一樣,數到99進一 是100上面講的十六進位制大家都懂了吧!不懂的慢慢研究,多動動腦筋!

2樓:甕友英麗

十六進位制就是逢16進1

0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

十五個字元組成

比如1+f=10

(滿16了,進1位)

計算機中常用的數的進位制主要有:二進位制、八進位制、十六進位制,學習計算機要對其有所瞭解。

2進位制,用兩個阿拉伯數字:0、1;

8進位制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;

10進位制,用十個阿拉伯數字:0到9;

16進位制就是逢16進1,但我們只有0~9這十個數字,所以我們用a,b,c,d,e,f這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。

以下簡介各種進位制之間的轉換方法:

一、二進位制轉換十進位制

例:二進位制

「1101100」

1101100

←二進位制數

6543210

←排位方法

例如二進位制換算十進位制的演算法:

1*26

+1*25

+0*24

+1*23+1*

22+0*21

+0*20↑↑

說明:2代表進位制,後面的數是次方(從右往左數,以0開始)

=64+32+0+8+4+0+0

=108

二、二進位制換算八進位制

例:二進位制的「10110111011」

換八進位制時,從右到左,三位一組,不夠補0,即成了:

010110

111011

然後每組中的3個數分別對應4、2、1的狀態,然後將為狀態為1的相加,如:

010=

2110

=4+2=6

111=

4+2+1=7

011=

2+1=

3結果為:2673

三、二進位制轉換十六進位制

十六進位制換二進位制的方法也類似,只要每組4位,分別對應8、4、2、1就行了,如分解為:

0101

1011

1011

運算為:

0101

=4+1=5

1011

=8+2+1

=11(由於10為a,所以11即b)

1011

=8+2+1

=11(由於10為a,所以11即b)

結果為:5bb

四、二進位制數轉換為十進位制數

二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方……

所以,設有一個二進位制數:0110

0100,轉換為10進製為:

計算:0*20

+0*21

+1*22

+1*23

+0*24

+1*25

+1*26

+0*27

=100

五、八進位制數轉換為十進位制數

八進位制就是逢8進1。

八進位制數採用

0~7這八數來表達一個數。

八進位制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……

所以,設有一個八進位制數:1507,轉換為十進位制為:

計算:7*80

+0*81

+5*82

+1*83

=839

結果是,八進位制數

1507

轉換成十進位制數為

839六、十六進位制轉換十進位制

例:2af5換算成10進位制

直接計算就是:5*

160+f*

161+a*

162+2*

163=

10997

(別忘了,在上面的計算中,a表示10,而f表示15)、

現在可以看出,所有進位制換算成10進位制,關鍵在於各自的權值不同。

假設有人問你,十進數

1234

為什麼是

一千二百三十四?你儘可以給他這麼一個算式:

1234=1

*103+2

*102+3

*101+4

*100

3樓:創業者李孟

十六進位制(英文名稱:hexadecimal),是計算機中資料的一種表示方法。同我們日常生活中的表示法不一樣。

它由0-9,a-f組成,字母不區分大小寫。與10進位制的對應關係是:0-9對應0-9;a-f對應10-15;n進位制的數可以用0~(n-1)的數表示,超過9的用字母a-f。

1、十六進位制的表示方法

十六進位制照樣採用位置計數法,位權是16為底的冪。對於n位整數,m位小數的十六進位制數用加權係數的形式表示如下;

2、轉換計算方式

十六進位制轉換十進位制

16進位制就是逢16進1,但我們只有0~9這十個數字,所以我們用a,b,c,d,e,f這六個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。十六進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……所以,在第n(n從0開始)位上,如果是數β (β大於等於0,並且β小於等於 15,即:

f)表示的大小為 β×16的n次方。假設有一個十六進數 2af5

直接計算就是:

5×160+f×161+a×162+2×163=10997[1]

也可以用豎式表示:

第0位: 5×160=5

第1位: f×16^1=240

第2位: a×162=2560

第3位: 2×163=8192

-------------------------------

10997

此處可以看出,所有進位制換算成10進位制,關鍵在於各自的權值不同。

假設有人問你,十進數1234 為什麼是一千二百三十四?你儘可以給他這麼一個算式:

1234 = 1×103+2×102+3×101+4×100

十六進位制互相轉換

首先來看一個二進位制數:1111,它是多少呢?

可能還要這樣計算:1×20+1×21+1×22+1×23=1×1+1×2+1×4+1×8=15。

然而,由於1111才4位,所以必須直接記住它每一位的權值,並且是從高位往低位記,:8、4、2、1。即,最高位的權值為23=8,然後依次是 22=4,21=2,20=1。

記住8421,對於任意一個4位的二進位制數,都可以很快算出它對應的10進位制值。

下面列出四位二進位制數 ***x 所有可能的值(中間略過部分)

僅4位的2進位制數 快速計算方法 十進位制值 十六進位制

1111 = 8 + 4 + 2 + 1 = 15 =f

1110 = 8 + 4 + 2 + 0 = 14= e

1101 = 8 + 4 + 0 + 1 = 13= d

1100 = 8 + 4 + 0 + 0 = 12 =c

1011 = 8 + 0 + 2 + 1 = 11= b

1010 = 8 + 0 + 2 + 0 = 10 =a

1001 = 8 + 0 + 0 + 1 =9 =9

……0001 = 0 + 0 + 0 + 1 = 1= 1

0000 = 0 + 0 + 0 + 0 = 0= 0

二進位制數要轉換為十六進位制,就是以4位一段,分別轉換為十六進位制。

如(上行為二制數,下面為對應的十六進位制):

1111 1101 , 1010 0101 , 1001 1011

f d , a 5 , 9 b

反過來,當我們看到 fd時,如何迅速將它轉換為二進位制數呢?

先轉換f:

看到f,我們需知道它是15(可能你還不熟悉a~f這五個數),然後15如何用8421湊呢?應該是8 + 4 + 2 + 1,所以四位全為1 :1111。

接著轉換d

看到d,知道它是13,13如何用8421湊呢?應該是:8 + 4 + 1,即:1101。

所以,fd轉換為二進位制數,為:1111 1101

由於十六進位制轉換成二進位制相當直接,所以,需要將一個十進位制數轉換成2進位制數時,也可以先轉換成16進位制,然後再轉換成2進位制。

比如,十進位制數 1234轉換成二制數,如果要一直除以2,直接得到2進位制數,需要計算較多次數。所以我們可以先除以16,得到16進位制數:

被除數 計算過程 商 餘數

1234 1234/16 77 2

77 77/16 4 13 (d)

4 4/16 0 4

結果16進製為:4d2

然後可直接寫出4d2的二進位制形式:

0100

1101

0010

其中對映關係為:

0100 -- 4

1101 -- d

0010 -- 2

同樣,如果一個二進位制數很長,需要將它轉換成10進位制數時,除了前面學過的方法是,還可以先將這個二進位制轉換成16進位制,然後再轉換為10進位制。

下面舉例一個int型別的二進位制數:

01101101

11100101

10101111

00011011

按四位一組轉換為16進位制:6d e5 af 1b

十進位制轉十六進位制

採餘數定理分解,例如將487710轉成十六進位制:

487710÷16=30481....14(e)

30481÷16=1905....1

1905÷16=119....1

119÷16=7....7

7÷16=0....7

這樣就計到487710(10)=7711e(16)

3、表達方法

程式的表達方法環境 格式備註url%hex無 xml,xhtml&#xhex無html,css#hex6位,表示顏色unicodeu+hex6位,表示字元編碼mime=hex無modula-2#hex無**alltalk,algol 6816rhex無***mon lisp#xhex或#16rhex無ipv68個hex用:分隔無

c c++的表達方法

如果不使用特殊的書寫形式,16進位制數也會和10進位制相混。隨便一個數:9876,就看不出它是16進位制或10進位制。

c,c++規定,16進位制數必須以 0x開頭。比如 0x1表示一個16進位制數。而1則表示一個十進位制。

另外如:0xff,0xff,0x102a,等等。其中的x也不區分大小寫。

(注意:0x中的0是數字0,而不是字母o)

以下是一些用法示例:

int a = 0x100f;

int b = 0x70 + a;

至此,我們學完了所有進位制:10進位制,8進位制,16進位制數的表達方式。最後一點很重要,c/c++中,10進位制數有正負之分,比如12表示正12,而-12表示負12,;但8進位制和16進位制只能表達無符號的正整數,如果你在**中寫:

-078,或者寫:-0xf2,c,c++並不把它當成一個負數。

在轉義符中的使用

轉義符也可以接一個16進位制數來表示一個字元。如 \'?\' 字元,可以有以下表達方式:

\'?\' //直接輸入字元

\'\77\' //用八進位制,此時可以省略開頭的0

\'\0x3f\' //用十六進位制

同樣,這一小節只用於瞭解。除了空字元用八進位制數 \'\0\' 表示以外,我們很少用後兩種方法表示一個字元

請問十六進位制中有0就代表是十六進位制沒有0就代

對的。以0x開始的資料表示16進位制,計算機中每位的權為16,即 16進位制 10 10進位制 1 16。沒有0x就代表是十進位制 八進位制整常數八進位制整常數必須以0開頭,即以0作為八進位制數的字首。數碼取值為0 7。八進位制數通常是無符號數。十進位制整常數沒有字首。其數碼為0 9。十六進位制整常...

十六進位制數如何轉換成十進位制,十六進位制轉換成十進位制的具體演算法?

16進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方 所以,在第n n從0開始 位上,如果是是數 x x 大於等於0,並且x小於等於 15,即 f 表示的大小為 x 16的n次方。進位制轉換表 例 2af5換算成10進位制 用豎式計算 第0位 5 16 0...

十六進位制中的f代表什麼數字十六進位制中的F代表什麼數字

十六進位制中的f代表十進位制中的數字是15。十六進位制中的各個數字對應十進位制中的數字分別如下 十六進位制 0 1 2 3 4 5 6 7 8 9 a b c d e f 十進位制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 十六進位制數有兩個基本特點 它由十六個字元...