由用户输入一个表示整数的字符串,格式为二进制,要求输出该整数对应的十进制和以0x开头的十六进制字符串,(程序能处理所有二进制的收入))

(感觉所有二进制是不是包括负数和小数啊...但是不知道怎么表示所有二进制)

输入样例:
1111011
输出样例:
123
0x7B

你题目的解答代码如下:

#include<stdio.h>
int main()
{
    char ch;
    int n = 0;
    while ((ch=getchar())!='\n' && ch!=EOF)
    {
        n = n * 2 + ch - '0';
    }
    printf("%d\n", n);
    printf("0x%X\n", n);
    return 0;
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img