c语言怎么把十进制数字转化成二进制数字
时间: 2024-09-18 12:04:53 浏览: 57
C语言十进制转二进制代码实例
5星 · 资源好评率100%
在C语言中,将十进制数转换为二进制可以使用位运算符和循环结构。以下是一个简单的函数示例,它使用了`do-while`循环和按位与操作来实现:
```c
#include <stdio.h>
#include <string.h>
void dec_to_bin(int num) {
char binary[32]; // 用于存储二进制结果,假设最多31位
int i = 0;
do {
binary[i] = (num & 1); // 取最低位
num >>= 1; // 将数值右移一位
binary[i] |= 48; // 将 '0' 转换成 ASCII 码,便于打印
i++;
} while (num != 0);
binary[i] = '\0'; // 添加字符串结束符
printf("十进制 %d 转换为二进制是:%s\n", num, binary);
}
int main() {
int decimal = 42;
dec_to_bin(decimal);
return 0;
}
```
在这个例子中,`&` 操作符用于获取最低位(如果 `num` 的最低位是1,则 `num & 1` 的结果是1),然后通过左移运算 (`<<`) 渐渐去掉最低位,直到 `num` 变为0为止。
运行这个程序,输入的十进制数42会转换为二进制表示(101010)。
阅读全文