十进制进制转十六进制算法
Ⅰ 关于十进制 转十六进制算法
把十进制数除以16,保留余数部分。得到余数以后就不要再往下除得小数。
代码:
#include "stdio.h" int main()
{
int num=0;
int a[100];
int i=0;
int m=0;
int yushu;
char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
printf("请输入一个十进制数:");
scanf("%d",&num); while(num>0) { yushu=num%16;
a[i++]=yushu;
num=num/16;
} printf("转化为十六进制的数为:0x"); for(i=i-1;i>=0;i--)//倒序输出 {m=a[i];
printf("%c",hex[m]); } printf("
");
}
(1)十进制进制转十六进制算法扩展阅读:
十进制转十六进制
采余数定理分解,例如将487710转成十六进制:
4877÷16=304....13(D)
304÷16=19....0
19÷16=1....3
1÷16=0....1
这样就计到487710=130D16
Ⅱ 十进制转十六进制
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';
else
ans += shi-10+'A';
for (int i=ans.length()-1; i>=0; i--)
cout<<ans[i];
}
else {
string ans="";
do {
int tmp = shi%16;
if (tmp<10)
ans += tmp+'0';
else
ans += tmp-10+'A';
shi /= 16;
} while (shi>=16);
if (shi<10)
ans += shi+'0';
else
ans += shi-10+'A';
for (int i=ans.length()-1; i>=0; i--)
cout<<ans[i];
}
return 0;
}
(2)十进制进制转十六进制算法扩展阅读
十六进制转换为十进制
十六进制数转十进制数方法:十六进制数按权展开,从十六进制数的右边第一个数开始,每一个乘以16的n次方,n从0开始,每次递增1。然后得出来的每个数相加即是十进制数。
Ⅲ 10进制转化为16进制的算法是怎样算
除16取余数得最低1位,然后把商继续除得第2位,直到商等于0
65036 除 16,余数 12(C),商4064
4064 除 16,余数 0(0),商254
254 除 16,余数 14(E),商15
15除16,余数 15(F),商0,结束
得16进制为 FE0C
Ⅳ 10进制转16进制的计算方法是怎样的
10进制转16进制的计算方法是对于整数部分,用被除数反复除以16,除第一次外,每次除以16均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。具体的过程如下:
比如要转换120为十六进制数:
1、把要转换的数,除以16,得到商和余数,
2、那么要转换的数是120, 120 ÷ 16,得到商是7,余数是8。
3、“将商继续除以16,直到商为0……”,现在商是7,还不是0,所以继续除以16。那就 7 ÷ 16, 得到商是0,余数是7。现在商已经是0。
4、我们两次计算依次得到余数分别是:8、7,将所有余数倒序排列,那就是:78。
注意事项:
1、对于小数部分,采用连续乘以基数16,并依次取出的整数部分,直至结果的小数部分为0为止。故该法称“乘基取整法”。
2、进制转换是人们利用符号来计数的方法,进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。
Ⅳ 十进制数转换为十六进制数的方法是什么
将十进制数转换成十六进制数,完全可以将整数部分除16取余按逆序排序;小数部分乘16取整,按顺序排序,最后将两部分合在一起。由于除16不方便,所以一般是将十进制数转换成二进制数后,再将二进制数转换成十六进制数。
Ⅵ 十进制数怎样转成十六进制数
十进制整数转换为十六进制整数采用"除16取余,逆序排列"法。
具体做法是:用16整除十进制整数,可以得到一个商和余数;再用16去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为十六进制数的低位有效位,后得到的余数作为十六进制数的高位有效位,依次排列起来。
例如:256
256/16=16……0
16/16=1…......0
1/16=0......1
故为:100
Ⅶ 十进制数和十六进制数怎么转换
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位:
……
Ⅷ 关于10进制转化成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
(8)十进制进制转十六进制算法扩展阅读:
十六进制转换有16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,13,14,15。
十进制数是组成以10为基础的数字系统,有0,1,2,3, 4, 5, 6, 7, 8, 9十个基本数字组成。十进制,英文名称为Decimal System,来源于希腊文Decem,意为十。
Ⅸ 十进制转化为十六进制怎么算
十进制转化为十六进制计算方式,简单说就是整数除以16取余,直到商为0为止,然后从最后一个余数读到第一个