#include<stdio.h>
int main()
{
int er[10],ba[10]={0},shiliu[10];
int n,t,c,i;
printf("请输入你需要输入的二进制中含有的数的个数每个数用空格隔开:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&er[i]);
}
int y=2;
for(i=n-1;i>=0;i--)/*将二进制转换为十进制*/
{
if(i==(n-1))
{
t=(er[i])*1;
}
else
{
t=t+(er[i])*y;
y=y*2;
}
}
int g=t;
printf("\n转换后的八进制为:");
i=0;
while(t>0)/*将十进制转换为八进制*/
{
c=t%8;
t=t/8;
ba[i]=c;
i++;
}
int x=i;
for(i=x-1;i>=0;i--)
{
printf("%d",ba[i]);
}
i=0;
while(g>0)/*将十进制转换为十六进制*/
{
c=g%16;
g=g/16;
shiliu[i]=c;
i++;
}
int w=i;
printf("\n转换后的十六进制为:");
for(i=w-1;i>=0;i--)
{
if(shiliu[i]<10)
{
printf("%d",shiliu[i]);
}
else if(shiliu[i]==15)
{
printf("F");
}
else if(shiliu[i]==14)
{
printf("E");
}
else if(shiliu[i]==13)
{
printf("D");
}
else if(shiliu[i]==12)
{
printf("C");
}
else if(shiliu[i]==11)
{
printf("B");
}
else if(shiliu[i]==10)
{
printf("A");
}
}
return 0;
}
实训10
最新推荐文章于 2024-03-08 21:40:10 发布