用c语言输入一个十进制数,将它对应的二进制数各位反序,形成新的十进制数输出
时间: 2024-05-04 20:22:44 浏览: 111
这个问题可以回答。请见下面的代码:
```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 变量来确定每个二进制位的权值。最后,将二进制数的各位反序,并输出反序后的二进制数。
阅读全文