#include
#include
#include
#include
int main( void )
{
char buf[9]; /*输入的整数不超过8位*/
int num=0,sign=10;
unsigned int i=0;
printf("请输入数字: ");
gets(buf);
for (i=0; i
if ( !(buf[i]>='0' && buf[i]<='9') )
{
printf("含0123456789外的字符,请重先输入: ");
gets(buf);
i=0;
}
}
/*--------------------------------------*/
for(i=0; i
if ( 49
num = atoi(buf);
itoa(num,buf,2);
printf("十进制数%d的二进制形式是: ",num);
for (i=0; i<8-strlen(buf); i++)
{
printf("%d",0); //高位补零,补足8位
}
printf("%s\n",buf);
return 0;
}
}
/*--------------------------------------*/
printf("--------该数是2进制请输入2,是10进制输入10-----------\n");
scanf("%d",&sign);
if (sign == 10) /*输入的是10进制数*/
{
num = atoi(buf);
if(num>256)
{
printf("error:你输入的十进制数不在0--256内.\n");
return 0;
}
itoa(num,buf,2);
printf("十进制数%d的二进制形式是: ",num);
for (i=0; i<8-strlen(buf); i++)
{
printf("%d",0); //高位补零,补足8位
}
printf("%s\n",buf);
return 0;
}
else /*输入的是2进制数*/
{
for (i=0; i
num +=(int)pow(2,strlen(buf)-i-1)*(buf[i]-48);
}
printf("二进制数%s的二进制形式是: %d\n",buf,num);
return 0;
}
}
以前写的跟你要求的差不多应该
能不能说的再详细一点?单片机?硬件?程序?