十六進製制怎麼轉換十進位制,求公式,十六進製制轉換成十進位制的具體演算法?

2021-03-10 21:02:32 字數 5406 閱讀 2845

1樓:可樂一樂

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

假設有乙個十六進數 2af5, 那麼如何換算成10進製。

用豎式計算: 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。

現實生活中,我們最常見的數為十進位制數,比如交通訊號燈上的數字,電子錶上的時間等。如果在這些地方你看到0xaa,就會感覺很奇怪。

但是這樣的數代表什麼意思,為什麼會有這樣的數,它與十進位制的數有什麼關係以及它都有哪些應用呢。下面將帶你了解一下十六進製制數的秘密。

2樓:星月小木木

乙個數的bai每一位都有乙個權

du值,例如十進位制數zhi2039

它可以表示

dao為:2*10^專3+0*10^2+3*10^1+9*10^0那麼任何進製的數都屬一樣,例如16進製制數8a30e它就是8*16^4+10*16^3+3*16^2+0*16^1+14*16^0=566030,算出來的值就是這個數對應的十進位制數

又例如k進製數abcdef(這是乙個6位數)它就是a*k^5+b*k^4+c*k^3+d*k^2+e*k^1+f*k^0

這樣想就十分簡單了

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

3樓: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進製制與其他不同進製之間的換算轉換。

4樓:匿名使用者

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

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

具體案例如下:

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

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

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

5樓:匿名使用者

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

6樓:玩玩貓兒

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

7樓:

^十六進製制

轉十進位制:

從個位起第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;}

8樓:匿名使用者

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

9樓: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次方。

10樓:匿名使用者

十六進製制轉換成十進位制方法:「按權求和」,例十六進數:(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進製。

11樓:匿名使用者

十六進製制化為十進位制:方法很簡單,就是用個位數+十位數*16+百位數*256+千位數*4096+...相乘的時候,前面的一位數乘以的數是十後面一位數乘以數的16倍。

例:將十六進製制數ab轉換成十進位制數: (ab)16=a×16+b=(171)10(abc)16=a×256+b×16+c=(2748)10

十進位制轉化為十六進製制怎麼算

12樓:深圳俊竹科技****

十進位制轉化為十六進製制計算方式,簡單說就是整數除以16取餘,直到商為0為止,然後從最後乙個餘數讀到第乙個

十六進製制轉化為十進位制計算方式,按權、相加即得十進位制數。

13樓:肥仙女

十進位制轉化為十六進製制**:

#include "stdio.h" int main();printf("請輸入乙個十進位制數:");

scanf("%d",&num); while(num>0)  printf("轉化為十六進製制的數為:0x"); for(i=i-1;i>=0;i--)//倒序輸出  printf("\n");

}程式執行結果:

擴充套件資料:進製轉換由一組數碼符號和兩個基本因素「基數」與「位權」構成。基數是指,進製計數制中所採用的數碼(數制中用來表示「量」的符號)的個數。

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

舉例:二進位制數轉換為十進位制數

二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方……所以,設有乙個二進位制數:0110 0100,轉換為10進製為:

下面是豎式:

0110 0100 換算成十進位制

第0位 0 * 20 = 0

第1位 0 * 21 = 0

第2位 1 * 22 = 4

第3位 0 * 23 = 0

第4位 0 * 24 = 0

第5位 1 * 25 = 32

第6位 1 * 26 = 64

第7位 0 * 27 = 0

公式:第n位2(n)

---------------------------100用橫式計算為:

0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1* 26 + 0 * 27 = 100

0乘以多少都是0,所以我們也可以直接跳過值為0的位:

1 * 22 + 1 * 25 +1*26 = 100

14樓:匿名使用者

整數部分,就是指小數點前的位數,除以16取餘數,然後把所得數寫成得數+餘數;

小數點後的部分,要乘以16,依次寫出來就可以了例(91.875)這是十進位制的數轉換成十六進製制的就是(5b.e)91/16得5餘11就可以寫成5b

0.875*16得14就是e

十六進製制ffff轉換為十進位制二進位制是多少

十六進製制ffff轉換成十進位制為 65535,轉換成二進位制為 1111111111111111 十六進製制 英文名稱 hexadecimal 是計算機中資料的一種表示方法。同我們日常生活中的表示法不一樣。它由0 9,a f組成,字母不區分大小寫。與10進製的對應關係是 0 9對應0 9 a f對...

11101012轉換成十進位制十六進製制八進位制

二進位制11101.01 十進位制29.25 十六進製制1d.4 八進位制35.2 11101 2 0 2 1 2 1 2 1 2 0 2 1 10 1 2 1 2 1 2 0 2 1 10 2 1 2 1 2 0 2 1 10 3 2 1 2 0 2 1 10 6 1 2 0 2 1 10 7 2...

十進位制數110 125 怎麼轉換為十六進製制

正確答案是 6e.2 說明 十進位制每位數的範圍是0 9,而十六進製制每位數的範圍是0 16,超過9的10 11 12 13 14 15分別以a b c d e f代替。計算方法 1 對於整數部分 採用除法 110 16 6 餘14 6 16 0 餘 6所以個位數為14 即e 十位數為6 所以整數部...