输入一个二进制数字 m,然后分别按照二进制,十进制,十六进制输出。
输入范例一:
1010
输出范例一:
二进制:1010
十进制:10
十六进制:A
输入范例二:
101010000
输出范例二:
二进制:11011
十进制:27
十六进制:1B
输入范例二是不是有问题?
输入范例二:
101010000
输出范例二:
二进制:11011
同样是二进制,输入和输出不一样?
#include <stdio.h>
int main()
{
char buf[10]={0};
int n=0,i=0;
int r = 1;
scanf("%s",buf);
while (buf[i])
{
n = n* 2 + r*(buf[i]-'0');
i++;
}
printf("二进制:%s\n",buf);
printf("十进制:%d\n",n);
printf("十六进制:%X\n",n);
return 0;
}