您的位置:首页 > 其它

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

2016-10-21 20:25 309 查看
#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;

}

用辗转相除法再将数组逆向输出
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐