十进制的数怎么转化成十六进制和八进制方法
3个回答
展开全部
以下是用C语言编写的程序,应用到堆栈的知识。希望对你有帮助。
void DecimalToHexadecimal()
{
int k=1,i=0;
int num;//待输入的十进制整数。
int stack[100];//指针数组,用于存储所得的余数。
printf("请输入一个十进制数:\n");
scanf("%d",&num);
printf("这个数对应的十六进制数是:\n");
while(k!=0)
{
k=num/16;//商。
stack[i++]=num%16;//余数。
num=k;
}
i--;
while(i>=0)
{
switch(stack[i])
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:printf("%d",stack[i--]);break;
case 10:printf("A");i--;break;
case 11:printf("B");i--;break;
case 12:printf("C");i--;break;
case 13:printf("D");i--;break;
case 14:printf("E");i--;break;
case 15:printf("F");i--;break;
default:printf(" error\n");exit(0);break;
}
}
printf("\n");
}
void DecimalToHexadecimal()
{
int k=1,i=0;
int num;//待输入的十进制整数。
int stack[100];//指针数组,用于存储所得的余数。
printf("请输入一个十进制数:\n");
scanf("%d",&num);
printf("这个数对应的十六进制数是:\n");
while(k!=0)
{
k=num/16;//商。
stack[i++]=num%16;//余数。
num=k;
}
i--;
while(i>=0)
{
switch(stack[i])
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:printf("%d",stack[i--]);break;
case 10:printf("A");i--;break;
case 11:printf("B");i--;break;
case 12:printf("C");i--;break;
case 13:printf("D");i--;break;
case 14:printf("E");i--;break;
case 15:printf("F");i--;break;
default:printf(" error\n");exit(0);break;
}
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用计算器
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询