以100这个十进制数转为16进制为例子来说明10进制到16进制的转换。
2013-12-05 10:11阅读:
1. 计算100,得到的值4为对应16进制的最
低位;
2. 计算100/16得6。
3. 然后对6=6。得到的值6为对应16进制的次
低位
4. 计算6/16=0,为6时结束循环。
所以100对应的
十六进制就是64。
下面给出一个例子程序:
#include
#define N 8
void tran(int num) // 转换函数
{
int arr[N],i; // N的大小要保证余数都能存进去
for (i=0;i < N;i++)
{
arr[i]=num; // 循环上述给出的例子过程,把余数存进数组中
num=num/16;
if(num==0) break; // 为0就退出了
}
printf('转换为16进制数为: ');
for (;i>=0;i--) // arr[0]存的是对应16进制的最
低位
switch (arr[i])
{
case 10: printf('A');break;
case 11: printf('B');break;
case 12: printf('C');break;
case 13: printf('D');break;
case 14: printf('E');break;
case 15: printf('F');break;
default: printf('%d',arr[i]);
}
printf('');
}
int main()
{
int num;
printf('请输入要转换的
十进制数:');
scanf('%d',&num);
tran(num);
return 0;
}