C语言中的位操作与字节序
1. 位操作基础
在C语言中,位操作是一门重要的技能,尤其对于系统级编程和嵌入式开发而言。位操作符允许我们直接操作二进制位,这对于优化代码性能和处理硬件交互至关重要。以下是C语言中常用的位操作符:
- 按位与
&
:只有当两个对应的二进制位都为1时,结果才为1。 - 按位或
|
:只要有一个对应的二进制位为1,结果就为1。 - 按位异或
^
:当两个对应的二进制位不同时,结果为1。 - 按位取反
~
:将每个二进制位取反,1变0,0变1。
示例代码
#include <stdio.h>
int main() {
unsigned int a = 0b1010; // 二进制表示
unsigned int b = 0b1100;
printf("a & b = %d\n", a & b); // 按位与
printf("a | b = %d\n", a | b); // 按位或
printf("a ^ b = %d\n", a ^ b); // 按位异或
printf("~a = %d\n", ~a); // 按位取反
return 0;
}
2. 位字段(Bit Fields)
位字段允许我们在结构体