1樓:職場導師趙叔
16進位制的簡寫表示形式為hex或下標16,如:39(16)。十六進位制是可以轉換為十進位制的。
具體的轉換方式是:把十六進位制數按位權形式,多項式和的形式,求其最後的和,就是其對應的十進位制數。簡稱「按權求和」。
具體的轉化方法如下圖:
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位: 5 * 160 = 5
第1位: f * 161 = 240
第2位: a * 162 = 2560
第3位: 2 * 163 = 8192 +
-------------------------------------
10997
直接計算就是:
5 * 160 + f * 161 + a * 162 + 2 * 163 = 10997
(別忘了,在上面的計算中,a表示10,而f表示15)
現在可以看出,所有進位制換算成10進位制,關鍵在於各自的權值不同。
假設有人問你,十進數 1234 為什麼是 一千二百三十四?你儘可以給他這麼一個算式:
1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
6.2.6 十六進位制數的表達方法
如果不使用特殊的書寫形式,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++並不把它當成一個負數。
3樓:匿名使用者
1、16進位制在計算機中用0x開頭表示,例如0xfff表示十六進位制fff。
2、十六進位制可以轉化為十進位制。
3、十六進位制轉換為十進位制方法,按權相加即可,例如十六進位制3a5.4對應的十進位制為:
3*16^2 + 10*16^1 + 5*16^0 + 4*16^-1
4樓:
當然可以16進位制用0-9 a-f這十六個符號來計算1代表二進位制0001到f代表1111,二進位制轉換成十進位制可以用短除法
5樓:匿名使用者
可以,0—9,a,b,c,d,e,f,
小數的十進位制轉換成十六進位制(如圖),怎麼轉換?
6樓:愛軍
十六進位制的整數, 表示每十六才進一位. 十進位制是, 每十, 進一位,所以, 整數部分, 可以用,(/16), 從個位十位往上求, 將數字逐次除以16,餘數為, 每一位結果。
小數部分, 因為是未滿16, 所以應該用乘法(x16), 從小數點下第一, 第二位, 將小數逐次乘以16.
整數為, 每一位的結果.
小數的十進位制轉換成十六進位制的方法:
十進位制小數轉r進位制小數,方法為乘r取整,每次乘以相應之後基數後取結果的整數部分即可。需要注意的是並非所有的十進位制小數都能完全轉化為r進位制小數,這時就需要取近似值。比如這裡的0.
9032d轉化成16進位制小數
0.9032*16=14.4512 取整數14 即e
0.4512*16=7.2192 取整數7
0.2192*16=3.5072 取整數3
0.5072*16=8.1152 取整數8
0.1152*16=1.8432 取整數1
。。。。。。
所以這個叔轉換成16進位制就是0.e7381h,至於你說的 8後面應該是有很多位的在這裡 怎麼只有3 位數? 前面說了,並非所有的十進位制小數都能完全轉化為r進位制小數,這時就需要取近似值,我們只是把後面的省略了,你想算還可以繼續往下面算。
將十六進位制數25cd轉換成為十進位制數是多少?要詳細過程,謝謝!
7樓:愛笑的柯南推理
對於進位制之間bai的轉換,一般直接的計du算zhi就是利用數制乘以他所在的權dao值,然後相
版加即可。十權六進位制的權值大概是這樣的:(從左至右的權值,計算時我們從低位開始計算。)
16^8 | 16^7 | 16^6 | 16^5 | 16^4 | 16^3 | 16^2 | 16^1 | 16^0
在計算3af的時候,我們這樣算:首先我們知道,英文字母在十六進位制中代表的十進位制數:a(10),b(11),c(12),d(13,)e(14),f(15).
那麼,這個資料轉為十進位制這樣計算:
f*16^0+a*16^1+3*16^2=15*1+10*16+3*256=943.
8樓:匿名使用者
^用位加權乘
來,積相加法比較簡自單。如8ffc035b轉換為十進位制(最低位是16^0,依次向左):
1、25cd = 2 x 16^3 + 5 x 16^2 + c x 16^1 + d x 16^0
2、=2 x 16^3 + 5 x 16^2 + 12 x 16^1 + 13 x 16^0
3、=8192 + 1280 + 192 + 134、=9677
十六進位制轉換成十進位制的具體演算法?
9樓: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進位制與其他不同進位制之間的換算轉換。
10樓:匿名使用者
(一)十六進位制化為十進位制方法:
用個位數+十位數*16+百位數*256+千位數*4096+...相乘的時候,前面的一位數乘以的數是十後面一位數乘以數的16倍.
具體案例如下:
(ab)=a×16+b=(171)
(abc)=a×256+b×16+c=(2748)(二)十進位制化為十六進位制的方法
把十進位制轉十六進位制按照除16取餘,直到商為0為止。(具體用法如下圖)
11樓:匿名使用者
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
12樓:玩玩貓兒
十六進位制是逢十六進一,轉換成十進位制要逢十進一的
13樓:
^十六進位制
轉十進位制:
從個位起第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;}
14樓:匿名使用者
十進位制會算吧 比如111 就是1*10^2+1*10^1+1*10^0 十六進位制只不過就是把其中的10換成16罷了
怎麼樣可以把16進位制數轉換成ASCII
ascii碼本身也是由8位的數字,指示表現的形式不同而已。比如說字元 i j k l m其實就是十進位制的 105 106 107 108 109 也是十六進位制的0x69 0x6a 0x6b 0x6c 0x6d,它們在計算機內部的儲存方式都是二進位制儲存的。我想,你所位的轉換,是隻在螢幕上顯示的轉...
js怎樣把10進位制數轉換成16進位制數顯示
js把復10進位制轉為16進位制並制 顯示 定義一個轉換函式 var w function s 轉換方法 w parseint x,16 比如傳入15,列印出來 的結果是 0xf。使用tostring 函式,傳入一個引數16 十進位制的數如何轉換成r進位制的,r進位制的數如何轉換成十進位制的?1 將...
excel度分秒轉換成十進位制,怎麼將excel表格中的經緯度度分秒轉換成十進位制
1 首先開啟excel輸入下圖資料,其中度分秒符號可以通過面板上插入 符號 單位符號,分別插入度分秒符號。2 點選進入下圖的那個單元格,編輯狀態,選中單元格內文字然後複製,注意不是複製這個單元格。3 選中十進位制度選擇列,然後右鍵 設定單元格格式 數字 自定義 在型別處貼上,如圖。4 下面修改貼上的...