怎样把十进制数转化为十六进制数?
(一)十六进制化为十进制方法:
用个位数+十位数*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,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167760935459208.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:十进制转十六进制(十进制转十六进制计算器).doc
本文 PDF 下载地址:十进制转十六进制(十进制转十六进制计算器).pdf
留言与评论(共有 0 条评论) |