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

2021-03-21 04:38:32 字數 5678 閱讀 2343

1樓:丿染指流年丶丶

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 = 5

第1位: f * 16^1 = 240

第2位: a * 16^2= 2560

第3位: 2 * 16^3 = 8192

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

10997

直接計算就是:

5 * 16^0 + f * 16^1 + a * 16^2 + 2 * 16^3 = 10997

擴充套件資料:

十六轉十的乘法口訣:

一峘一拾六

二峘三拾二

三峘四拾八

四峘六拾四

五峘八拾

六峘九拾六

七峘一百一拾二

八峘一百二拾八

九峘一百四十四

十峘一百六

屲峘一百七拾六

亗峘一百九拾二

岌峘二百零八

岄峘二百二拾四

岪峘二百四

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開始)位上,如果是是數 x (x 大於等於0,並且x小於等於 15,即:f)表示的大小為 x * 16的n次方。

例如十六進數 2af5, 轉化成10進位制的步驟:

用豎式計算:

2af5換算成10進位制:

第0位:

第1位:

第3位:

直接計算就是:

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

擴充套件資料:

進位制轉換是人們利用符號來計數的方法。進位制轉換由一組數碼符號和兩個基本因素「基數」與「位權」構成。基數是指,進位計數制中所採用的數碼(數制中用來表示「量」的符號)的個數。

位權是指,進位制中每一固定位置對應的單位值。

十進位制中的數位排列是這樣的:

…… 萬 千 百 十 個 十分 百分 千分……

16進位制中的數位排列是這樣的:

3樓:

4個2進位制位為一個16進位制數,2進位制1111為16進位制f,2進位制中千位的1=8,百位的1=4,十位的1=2,個位的1=1,將各個位的數作相應轉換再相加,的到的數就是10進位制數0-15,可輕鬆轉換成16進位制。如01011100,可看成是兩組2進位制數0101和1100,則這個數就是16進位制的5c。

10轉16:

100以內一點的10轉16心算比較快,複雜的用「計算器」算了。10轉16用傳統的計算方式可以了,就是大於15小於256的10進位制數除以16為的值為十位的16進位制數,其餘數為個位的16進位制數,沒餘數則個位為0。如61的16進位制是3d,61除以16得3餘13,3作十位數,13轉成d為各位數。

16轉10:

用相反的道理,將十位數乘以16加上個位數。如5a,將5乘以16得80,加上a的10進位制10,結果是90。

4樓:banji的老巢

十六進位制數轉換十進位制數,也是利用權值和開方所得,具體內容給你舉例說明:

例:十六進位制數2a4f,轉換為十進位制數為:f*16^0+4*16^1+a*16^2+2*16^3=15+64+2560+8192=10831。

十六進位制(hexadecimal)是計算機中資料的一種表示方法。同我們日常中的十進位制表示法不一樣。

十六進位制數的基數是16,採用的數碼是0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f。其中a-f分別表示十進位制數字10-15。十六進位制數的技術規則是"逢十六進一",它的各位的權是以16的n次方標識的。

通常,對十六進位制數的表示,可以在數字的右下角標註16或h,但在c語言中是在數的前面加數字0和字母x即0x來表示。例如,12af在c語言中表示為0x12af。

十六進位制數的加減法的進/借位規則為:借一當十六,逢十六進一。 十六進位制數同二進位制數及十進位制數一樣,也可以寫成式的形式。

5樓:匿名使用者

■■■■■樓上的刷屏刷的太厲害了吧..■■■■■十六進位制數轉換成十進位制十分簡單

舉個例子:ac(十六進位制)轉換成十進位制為

a所在位置為16的1次方再乘以a也就是十進位制數的10=16*10=160

c所在位置為16的0次方再乘以c也就是十進位制數的12=1*12=12現在再把那個數再起來就是172了

如果還要往更高位算的話那就是16的三次方嘍..只要你明白了這樣的演算法就搞定了

十六進位制轉換成十進位制的具體演算法?

6樓:sa_sa_陳

十六進位制轉換成十進位制的具體演算法是:

1、首先明白16進位制數(從右到左數是第0位,第1位,第2位……)的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方,依次這樣排列下去。

2、明白abcdef表示的二進位制數字分別是10,11,12,13,14,15。

3、十六進位制轉換成十進位制的公式是:要從右到左用二進位制的每個數去乘以16的相應次方,然後這些數字相加就是了。

例1:2af5換算成10進位制:

第0位: 5 * 16^0 = 5

第1位: f * 16^1 =15*16^1= 240

第2位: a * 16^2= 10* 16^2=2560

第3位: 2 * 16^3 = 8192

結果就是:5 * 16^0 + 15 * 16^1 + 10 * 16^2 + 2 * 16^3 = 10997

例2:ce換算成10進位制:

第0位:e*16^0=14*16^0=14

第1位:c*16^1=12*16^1=192

結果就是:14*16^0+12*16^1=206

16進位制即逢16進1,每一位上可以是從小到大為0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f共16個大小不同的數。16進位制轉換即16進位制與其他不同進位制之間的換算轉換。

7樓:匿名使用者

(一)十六進位制化為十進位制方法:

用個位數+十位數*16+百位數*256+千位數*4096+...相乘的時候,前面的一位數乘以的數是十後面一位數乘以數的16倍.

具體案例如下:

(ab)=a×16+b=(171)

(abc)=a×256+b×16+c=(2748)(二)十進位制化為十六進位制的方法

把十進位制轉十六進位制按照除16取餘,直到商為0為止。(具體用法如下圖)

8樓:匿名使用者

16進位制到十進位制的轉換方法:

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 = 5

第1位:f * 16^1 = 240

第2位:a * 16^2= 2560

第3位:2 * 16^3 = 8192

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

10997

直接計算就是:

5 * 16^0 + f * 16^1 + a * 16^2 + 2 * 16^3 = 10997

9樓:玩玩貓兒

十六進位制是逢十六進一,轉換成十進位制要逢十進一的

10樓:

^十六進位制

轉十進位制:

從個位起第i位乘以16的i-1次方

比如0x233 = 2*16^2 + 3*16^1 + 3*16^0 = 512 + 48 + 3 = 563

0x666 = 6*16^2 + 6*16^1 + 6*16^0 = 1536 + 96 + 6 = 1638

0x7fff = 7*16^3+15*16^2+15*16^1+15*16^0=28672+3840+240+15=32767

十進位制轉十六進位制:

除十六取餘數

比如233 ÷ 16 = 14 ......914 ÷ 16 = 0 ......14

倒著寫就是0xe9

32768 ÷ 16 = 2048 ......02048 ÷ 16 = 128......0128 ÷ 16 = 8......0

8 ÷ 16 = 0......8

倒著寫就是0x8000

演算法實現:

十六進位制轉十進位制:

#include

#include

char buf[20];

int len,_pow,ans=0;

int trans(char hex)

int main()

printf("%d\n",ans);

return 0;

}十進位制轉十六進位制:

#include

char trans(int deci)

int n,len=0;

char hex[20];

int main()

for (int i=len-1;i>=0;i--)putchar(hex[i]);//跟手算一樣,要倒著輸出return 0;}

11樓:匿名使用者

十進位制會算吧 比如111 就是1*10^2+1*10^1+1*10^0 十六進位制只不過就是把其中的10換成16罷了

12樓:000初夏

16進位制是逢16進1,

用a,b,c,d,e,f這六個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。

在第n(n從0開始)位上,如果是是數 x (x 大於等於0,並且x小於等於 15,即:f)表示的大小為 x * 16的n次方。

13樓:匿名使用者

十六進位制轉換成十進位制方法:「按權求和」,例十六進數:(2af5)h=2*16^3+10*16^2+15*16^1+5*16^0=8192+2560+240+5=10997。

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

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

十進位制,即①滿十進一,滿二十進二,以此類推……②按權展開,第一位權為10^0,第二位10^1……以此類推,第n位10^(n-1),該數的數值等於每位位的數值*該位對應的權值之和。

進位制也就是進位計數制,是人為定義的帶進位的計數方法(有不帶進位的計數方法,比如原始的結繩計數法,唱票時常用的「正」字計數法,以及類似的tally mark計數)。 對於任何一種進位制---x進位制,就表示每一位置上的數運算時都是逢x進一位。 十進位制是逢十進一,十六進位制是逢十六進一,二進位制就是逢二進一,以此類推,x進位制就是逢x進位。

十六進位制轉換成二進位制怎麼轉換,十六進位制如何轉換成二進位制

幾進位制就是逢幾進一,如十進位制,最常用的吧,每到十的時候就往前一位進一。同理,二進位制與十六進位制也是這個道理。16進位制中,由於阿拉伯數字只有0 9的表示,因此需用大寫英文字母前六個 即a e 來補充,其中的a 10,b 11,c 12,d 13,e 14,f 15。至於十進位制轉換為十六進位制...

請問怎麼把十進位制數轉換為十六進位制數

修改中經常接觸的是2 10和16進位制,基本上需要了解的是2和16互轉 10和16互轉,其他多瞭解也沒虧 2轉16 4個2進位制位為一個16進位制數,2進位制1111為16進位制f,2進位制中千位的1 8,百位的1 4,十位的1 2,個位的1 1,將各個位的數作相應轉換再相加,的到的數就是10進位制...

C中如何將十六進位制數轉換為十進位制數

用字串儲存要轉copy換的16進位制數,然後把一個一個字元轉換為10進位制樹.大致 如下 string hexa cin hexa int sum 0 for int i 0 i hexa.size i 補充 change 函式就是取一個字元,返回相應的整數就行了.用switch判斷選擇就ok了.對...