c语言十进制转二进制代码用一个变量
时间: 2024-10-10 12:04:30 浏览: 10
在C语言中,将十进制整数转换成二进制并保存在一个变量中,可以使用位运算符。这里是一个简单的示例代码:
```c
#include <stdio.h>
// 函数声明,接收一个整数作为参数,并返回它的二进制表示字符串
char* decimalToBinary(int num);
int main() {
int decimal = 42; // 待转换的十进制数
char binary[32]; // 存储二进制结果的数组
// 转换并打印结果
strcpy(binary, decimalToBinary(decimal));
printf("十进制 %d 的二进制形式是 %s\n", decimal, binary);
return 0;
}
// 十进制转二进制的辅助函数
char* decimalToBinary(int num) {
char binary[32] = {0}; // 初始化为0防止溢出
if (num == 0) {
binary[0] = '0';
return binary;
}
while (num != 0) {
binary[--binary] = num & 1 + '0'; // 取余数并转换为字符添加到字符串前部
num >>= 1; // 左移一位,去掉最低位
}
binary[--binary] = '\0'; // 添加结束符
return binary;
}
```
这个程序首先定义了一个`decimalToBinary`函数,它通过不断对输入的十进制数取余数并将余数逐位存入`binary`数组,最后加上终止符'\0'。然后在`main`函数中调用该函数,并打印出结果。