【C语言】---- 位操作处理
1.【C语言】---- 基本数据类型(char、int、float)2.【C语言】---- 复合数据类型之数组(Array)3.【C语言】---- 复合数据类型之结构体(Struct)4.【C语言】---- 复合数据类型之联合体(Union)5.【C语言】---- 复合数据类型之枚举(Enum)6.【C语言】---- 指针数据类型(Pointer)7.【C语言】---- 自定义数据类型(typedef)8.【C语言】---- C语言的预处理指令
9.【C语言】---- 位操作处理
10.【C语言】---- 特殊关键字volatile、const、restrict11.【C语言】---- extern的使用12.【C语言】---- return的作用13.【C语言】---- 标准输入输出与字符输入输出14.【C语言】---- for循环函数15.【C语言】---- 文件输入输出与文件管理函数16.【C语言】---- 三目运算符17.【C语言】---- sizeof关键字在C语言中,位操作是一种对整数的二进制位进行直接操作的技术。它们通常用于对位表示的数据进行快速、高效的操作。以下是C语言中常用的位操作:
-
按位与(Bitwise AND):用
&
运算符执行,将两个操作数的对应位进行逻辑与操作,结果为1时,结果位为1,否则为0。result = num1 & num2;
-
按位或(Bitwise OR):用
|
运算符执行,将两个操作数的对应位进行逻辑或操作,结果为1时,结果位为1,否则为0。result = num1 | num2;
-
按位异或(Bitwise XOR):用
^
运算符执行,将两个操作数的对应位进行逻辑异或操作,相同为0,不同为1。result = num1 ^ num2;
-
按位取反(Bitwise NOT):用
~
运算符执行,将操作数的每一位取反(0变为1,1变为0)。result = ~num;
-
左移位(Left Shift):用
<<
运算符执行,将操作数的二进制位向左移动指定的位数,右侧空出的位补0。result = num << shift_amount;
-
右移位(Right Shift):用
>>
运算符执行,将操作数的二进制位向右移动指定的位数,左侧空出的位根据原来的最高位填充(如果原来的最高位为0,则左侧补0,如果原来的最高位为1,则左侧补1)。result = num >> shift_amount;
这些位操作常用于嵌入式系统和低级编程,例如对寄存器的位字段进行设置和清除、位掩码操作、位域操作等。使用位操作可以实现高效的数据处理和优化的代码。
本文来自博客园,作者:晚风也温柔,转载请注明原文链接:https://www.cnblogs.com/zxr-blog/p/18096185