请输入一个十六进制数,并输出相对应的二进制整数
程序员文章站
2022-07-15 09:41:20
...
输入要求:输入一个不超过8位的十六进制数
输出要求:二进制数
样例输入:2af
样例输出:1010101111
样例输入:38
样例输出:111000
#include<stdio.h>
#include<math.h>
int main()
{
int a[100], i = 0, j, k, m = 0, n = 0, sum1;
char c[100];
double sum = 0;
while ((c[i] = getchar()) != '\n')
{
if (c[i] >= 'A' && c[i] <= 'Z')
{
c[i] = c[i] - 55;
}
if (c[i] >= 'a' && c[i] <= 'z')
{
c[i] = c[i] - 87;
}
if (c[i] >= '0' && c[i] <= '9')
{
c[i] = c[i] - 48;
}
i++;
}
for (j = i - 1; j >= 0; j--)
{
sum = sum + c[j] * pow(16, m);
m++;
}
sum1 = (int)sum;
while (sum1 != 0)
{
a[n] = sum1 % 2;
sum1 = sum1 / 2;
n++;
}
for (k = n - 1; k >= 0; k--)
{
printf("%d", a[k]);
}
}
不懂再问哈
推荐阅读
-
剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
-
【C语言】输入一个整数,输出该数二进制表示中1的个数(三种方法)
-
输入一个非负整数(十进制),输出此整数对应的二进制数
-
请输入一个十六进制数,并输出相对应的二进制整数
-
利用Java编写程序从键盘输入一个整数,计算并输出该数的数字之和。例如:请输入一个整数:8899123各位数字之和为:40
-
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
-
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
-
【C语言】输入一个整数,输出该数二进制表示中1的个数,其中负数用补码表示
-
c中输入一个十进制数,输出它的八进制二进制以及十六进制
-
C++ leetCode 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个