怎樣把十進制數轉化為十六進制數?
(一)十六進制化為十進制方法:
用個位數+十位數*16+百位數*256+千位數*4096+...相乘的時候,前面的一位數乘以的數是十后面一位數乘以數的16倍.
具體案例如下:
(AB)=A×16+B=(171)
(ABC)=A×256+B×16+C=(2748)
(二)十進制化為十六進制的方法
把十進制轉十六進制按照除16取余,直到商為0為止。(具體用法如下圖)
十進制轉換十六進制?
十進制轉十六進制可采用除商取余法。
將一個十進制數字除以16得到商和余數,再將商再除以16得到新的商和余數,再將新的商進行同樣的處理,直到商為0為止,再將余數按相反的順序組合,便得到十六進制數字。
比如將十進制的數字1024進行轉換:
1024除以16得到商64和余數0;
64除以16得到商4和余數0;
4除以16得到商0和余數4。
將余數按相反的順序組合得到十六進制數字400。
十進制轉十六進制
若余數大于等于10且小于等于15,則將數字轉為字母(10-A,11-B,12-C,13-D,14-E,15-F)。
10進制轉化為16進制的算法
十進制轉換成十六進制怎么算?
十六進制轉換成十進制的具體算法是:
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
進制轉換的理論
1、 二進制數、十六進制數轉換為十進制數:
用按權展開法把一個任意R 進制數a n a n-1 ...a1a 0 . a -1 a -2...a -m轉換成十進制數,其十進制數值為每一位數字與其位權之積的和。
a n ×Rn+ a n-1×R n-1 +…+ a 1×R 1 + a 0×R 0 + a -1 ×R -1+ a -2×R -2+ …+ a -m ×R -m
2、 十進制轉化成R 進制十進制數輪換成R 進制數要分兩個部分:整數部分要除R 取余數,直到商為0,得到的余數即為二進數各位的數碼,余數從右到左排列(反序排 列) 。小數部分要乘R 取整數,得到的整數即為二進數各位的數碼,整數從左到右排列(順序排列) 。
3、十六進制轉化成二進制:每一位十六進制數對應二進制的四位,逐位展開。
4、 二進制轉化成十六進制:將二進制數從小數點開始分別向左(對二進制整數)或向右(對二進制小數)每四位組成一組,不足四位補零。
十進制轉十六進制
1、十六進制的計數方法是滿16進1,所以十進制數16在十六進制中是10,而十進制的17在十六進制中是11,以此類推,十進制的30在十六進制中是1E。
2、輸入格式 ,輸入包含一個非負整數a,表示要轉換的數。0<=a<=2147483647。
3、輸出格式,輸出這個整數的16進制表示。
4、樣例輸出 ,1E:
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int main() {
__int64 shi;scanf("%I64d",&shi);
if (shi<=15) {
string ans="";
if (shi<10)
ans += shi+'0';
el
ans += shi-10+'A';
for (int i=ans.length()-1; i>=0; i--)
cout<<ans[i];
}
el {
string ans="";
do {
int tmp = shi%16;
if (tmp<10)
ans += tmp+'0';
el
ans += tmp-10+'A';
shi /= 16;
} while (shi>=16);
if (shi<10)
ans += shi+'0';
el
ans += shi-10+'A';
for (int i=ans.length()-1; i>=0; i--)
cout<<ans[i];
}
return 0;
}
擴展資料
十六進制轉換為十進制
十六進制數轉十進制數方法:十六進制數按權展開,從十六進制數的右邊第一個數開始,每一個乘以16的n次方,n從0開始,每次遞增1。然后得出來的每個數相加即是十進制數。
參考資料來源:百度百科—十六進制轉換
本文發布于:2023-02-28 19:19:00,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/167760935459208.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:十進制轉十六進制(十進制轉十六進制計算器).doc
本文 PDF 下載地址:十進制轉十六進制(十進制轉十六進制計算器).pdf
| 留言與評論(共有 0 條評論) |