C语言程序设计-输入一个十进制数,将它对应的二进制数反序,形成的十进制数输出
时间: 2024-05-15 20:12:16 浏览: 94
C语言实现二进制数据转换为十进制数据
以下是一个示例程序,可以实现输入一个十进制数,将它对应的二进制数反序,形成的十进制数输出:
```c
#include <stdio.h>
int reverse_binary(int n) {
int binary = 0;
while (n > 0) {
binary = binary * 2 + n % 2;
n /= 2;
}
return binary;
}
int main() {
int decimal;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
int binary = reverse_binary(decimal);
printf("对应的二进制数为:%d\n", binary);
int reversed_binary = reverse_binary(binary);
printf("反序后对应的十进制数为:%d\n", reversed_binary);
return 0;
}
```
程序中使用了一个 `reverse_binary` 函数,该函数接受一个十进制整数作为参数,返回对应的二进制数反序后形成的十进制整数。该函数的实现使用了循环和取余操作,每次将二进制数左移一位并加上当前位的数值,然后将十进制数除以2,直到十进制数为0,最终得到反序后的二进制数。在 `main` 函数中,先输入一个十进制数,然后调用 `reverse_binary` 函数得到对应的二进制数,输出后再次调用 `reverse_binary` 函数得到反序后的十进制数,最终输出结果。
阅读全文