十进制打印 转换二进制 十六进制

#include <stdio.h>


int main()
{
int a;
printf("please enter a number:\n");
scanf("%d",&a);
printf("the decimal number is:%d\n",a);
int d=a;
int b[50]={0}
,i=0;
printf("the binary number is:");
for(i=0;i<50;i++)
{
b[i]=a%2;
a=a/2;
if(a==0 || a==1){
b[i+1]=a;
break;
}
}
for(i++;i>=0;i--)
printf("%d",b[i]);//到此为2进制转换
printf("\n");
int  c[50]={0}
,j;
printf("the Hexadecimal number is:");
for(j=0;j<50;j++)
{
c[j]=d%16;
switch(c[j])
{
case 10: c[j]='A';break;
case 11: c[j]='B';break;
case 12: c[j]='C';break;
case 13: c[j]='D';break;
case 14: c[j]='E';break;
case 15: c[j]='F';break;
case 9 : c[j]='9';break;
case 8 : c[j]='8';break;
case 7 : c[j]='7';break;
case 6 : c[j]='6';break;
case 5 : c[j]='5';break;
case 4 : c[j]='4';break;
case 3 : c[j]='3';break;
case 2 : c[j]='2';break;
case 1 : c[j]='1';break;
case 0 : c[j]='0';break;
}d=d/16;
if (d==0)
break;
}
for(j++;j>=0;j--)
printf("%c",c[j]);
printf("\n");//到此为16进制转换
    return 0;

}


用辗转相除法再将数组逆向输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值