C语言输入一个十进制数转换为二进制数,显示其原码
时间: 2024-10-11 07:04:19 浏览: 6
在C语言中,将十进制数转换为二进制数并显示原码的过程通常涉及到整数除法和取余操作。这里是一个简单的示例程序,它会通过循环的方式将十进制数转换成二进制字符串:
```c
#include <stdio.h>
#include <string.h>
void dec_to_bin(int num) {
char binary[32]; // 大多数情况下,32位应该足够储存31位二进制数加上一位符号
int i = 0;
if (num == 0) {
binary[i++] = '0';
} else {
while (num > 0) {
binary[i] = num % 2 + '0'; // 将余数转化为字符(0-9)
num /= 2; // 整数除以2,得到下一位的值
i++;
}
// 如果最开始第一位是1,则需要在前面添加一个前导零
if (binary[0] != '0') {
binary[--i] = '0';
}
}
binary[i] = '\0'; // 添加字符串结束符
printf("十进制数 %d 的原码二进制表示为:%s\n", num, binary);
}
int main() {
int decimal;
printf("请输入一个十进制数: ");
scanf("%d", &decimal);
dec_to_bin(decimal);
return 0;
}
```
当你运行这个程序时,它会提示用户输入一个十进制数,然后将其转换为二进制,并以原码形式打印出来。