
面试高老师为您分享以下优质知识
在C语言中,将数据转换为二进制形式可以通过多种方法实现,具体取决于数据的类型和转换需求。以下是常见的转换方法及示例代码:
一、整数转换为二进制数
C语言提供了`%b`格式说明符,可直接将整数以二进制形式输出(需包含``头文件)。
```c
include
int main() {
int num = 29;
printf("二进制表示: %bn", num); // 输出: 11101
return 0;
}
```
手动实现转换算法
- 除2取余法:
通过不断除以2并记录余数,最后将余数逆序排列。
- 位运算法:使用位移和按位与运算符逐位提取二进制位。
示例:手动实现除2取余法
```c
include
void decimalToBinary(int n) {
int binary = {0};
int i = 0;
while (n >
0) {
binary[i] = n % 2;
n = n / 2;
i++;
}
for (int j = i - 1; j >
= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int num = 29;
printf("十进制 %d 的二进制为: ", num);
decimalToBinary(num); // 输出: 11101
return 0;
}
```
示例:使用位运算提取二进制位
```c
include
void printBinary(int num) {
for (int i = 31; i >
= 0; i--) {
printf("%d", (num & (1 = 0; i--) {
printf("%d", (n & (1