加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

以100这个十进制数转为16进制为例子来说明10进制到16进制的转换。

(2013-12-05 10:11:50)
标签:

it


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("\n");
}
int main()
{
int num;
printf("请输入要转换的十进制数:\n");
scanf("%d",&num);
tran(num);
return 0;
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有