c语言输入一个十进制数,输出一个二进制数
时间: 2023-05-29 13:06:13 浏览: 182
下面是一个将十进制数转换为二进制数的C语言程序:
```c
#include <stdio.h>
int main() {
int decimal, binary[32], i = 0;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
while (decimal > 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
printf("转换为二进制数为:");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
printf("\n");
return 0;
}
```
程序首先要求用户输入一个十进制数,然后通过循环将该数转换为二进制数,并将每一位存储在一个数组中。最后,程序倒序输出该数组中的数,从而输出二进制数。
相关问题
用c语言输入一个十进制数,将它对应的二进制数各位反序,形成新的十进制数输出
这个问题可以回答。请见下面的代码:
```c
#include <stdio.h>
int main()
{
int decimal, reversed = 0, remainder, binary = 0, position = 1;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
// 将十进制数转换为二进制数并颠倒各位
while (decimal != 0)
{
remainder = decimal % 2;
binary += remainder * position;
position *= 10;
decimal /= 2;
}
while (binary != 0)
{
remainder = binary % 10;
reversed = reversed * 10 + remainder;
binary /= 10;
}
printf("颠倒后的二进制数为:%d\n", reversed);
return 0;
}
```
该代码将首先提示用户输入一个十进制数,并使用 scanf 函数将其存储在一个整数变量 decimal 中。然后,将十进制数转换为二进制数并存储在变量 binary 中,并且在转换过程中使用 position 变量来确定每个二进制位的权值。最后,将二进制数的各位反序,并输出反序后的二进制数。
C语言输入一个十进制数转为十六进制输出
可以使用C语言中的sprintf函数将十进制数转为十六进制字符串,然后使用printf函数输出即可。以下是示例代码:
```c
#include <stdio.h>
int main() {
int num;
char hex[10];
printf("请输入一个十进制数:");
scanf("%d", &num);
sprintf(hex, "%X", num); // 将十进制数转为十六进制字符串
printf("转换后的十六进制数为:%s\n", hex);
return 0;
}
```
运行程序后,输入一个十进制数,程序会将其转为十六进制数并输出。注意,sprintf函数的第二个参数是格式控制字符串,其中%X表示输出大写字母的十六进制数字。如果要输出小写字母的十六进制数字,可以使用%x。
阅读全文