在C语言中,二进制数的表示方法主要有以下两种形式:
前缀表示法 使用`0b`或`0B`(不区分大小写)作为前缀,直接书写二进制数。例如:
```c
int a = 0b101; // 十进制5
int b = -0b110010; // 十进制-50
int c = 0B100001; // 十进制33
```
注意:
无前缀的二进制数会被解释为十进制数,非法。
位运算与函数转换
可通过位运算或自定义函数将十进制数转换为二进制字符串。例如:
```c
include void printBinary(int num) { int bits = sizeof(int) * 8; unsigned int mask = 1 << (bits - 1); for (int i = 0; i < bits; i++) { printf("%d", (num & mask) ? 1 : 0); num <<= 1; } } int main() { int num; printf("请输入一个整数: "); scanf("%d", &num); printf("二进制表示为: "); printBinary(num); return 0; } ```
该函数通过循环与掩码操作,将整数转换为8位二进制字符串。
总结:
C语言中二进制数可通过前缀表示法直接书写,或通过位运算函数实现转换。建议优先使用前缀表示法,代码更简洁易读。