在C语言中,二进制常数可以通过以下两种方式表示:
前缀表示法
使用 `0b` 或 `0B` 作为前缀,后跟二进制数字(仅包含0和1)。例如:
```c
int binary_num = 0b1010; // 十进制中的10
```
位运算符
可以使用按位运算符(如 `&`、`|`、`^`、`<<`、`>>` 等)对二进制数进行操作。例如:
```c
int a = 0b1010; // 等价于十进制的10
a = a | (1 << 2); // 将第3位设为1
```
注意事项
C语言标准从C99开始支持二进制字面量,因此较新的编译器(如GCC、Clang)均支持此特性。- 二进制数在内存中以补码形式存储,负数的补码是其原码取反加一。- 位运算符操作时需注意操作数的类型和范围,避免溢出或未定义行为。