位运算是一种基本的计算机运算,它对整数的二进制位进行操作。在C语言中,位运算提供了丰富的操作符,例如按位与(&)、按位或(|)、按位异或(^)、按位求反(~)等。
以下是一些示例:
按位与(&) 假设a等于3(二进制为00000011),b等于5(二进制为00000101),则a&b将得到1(二进制为00000001)。
按位或(|) 假设a等于3(二进制为00000011),b等于5(二进制为00000101),则a|b将得到7(二进制为00000111)。
按位异或(^) 假设a等于3(二进制为00000011),b等于5(二进制为00000101),则a^b将得到6(二进制为00000110)。
按位求反(~) 假设a等于3(二进制为00000011),则~a将得到-4(二进制为11111100)。
注意,在使用位运算时需要注意数据类型和二进制位的位数。
下面是一些应用示例:
int is_even(int x){ return ((x & 1) == 0); }
void swap(int* a, int* b){ *a ^= *b; *b ^= *a; *a ^= *b; }
以上是关于C语言位运算的一些基本介绍和代码示例。