![39 理论讲解:位运算](https://i.ytimg.com/vi/JMVVzkVrnM4/hqdefault.jpg)
内容
- 定义-逐位运算符是什么意思?
- Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。
- 技术百科解释位运算符
定义-逐位运算符是什么意思?
按位运算符是用于对涉及单个位操作的位模式或二进制数字执行按位运算的运算符。
按位运算符用于:
- 通信堆栈,其中数据中标头中的各个位表示重要信息
- 嵌入式软件,用于控制芯片中的不同功能并通过操纵嵌入式微控制器的硬件寄存器的各个位来指示硬件状态
- 针对应用程序的低级编程,例如设备驱动程序,加密软件,视频解码软件,内存分配器,压缩软件和图形
- 在搜索和优化问题中有效维护大量整数
- 对位标志执行按位操作,这可以使枚举类型的实例能够存储在枚举器列表中定义的值的任何组合
Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。
技术百科解释位运算符
与普通逻辑运算符(如+,-,*)可用于字节或一组字节的工作区不同,按位运算符可以检查或设置字节内的各个位。按位运算符绝不会引起溢出,因为按位运算后产生的结果在涉及的数字类型的可能值范围内。
C语言族(C#,C和C ++)中使用的按位运算符为:
- 或(|):如果任何操作数为true,则结果为true。
- AND(&):只有两个操作数都为true时,结果才为true。它可用于设置掩码以检查某些位的值。
- XOR(^):仅当其操作数之一为true时,结果为true。它主要用于切换某些位。它还有助于交换两个变量而无需使用第三个变量。
- 按位补码或取反或非(〜):通过反转操作数的值来提供操作数的按位补数,以使所有零都变为1,所有全都变为零。
- >>(右移)和<<(左移)运算符:在第二个操作数向右或向左方向移动位数。右移操作是int或long类型的操作数的算术移位,而对于uint或ulong类型的操作数则是逻辑移位。移位运算符用于对齐位。
按位运算符的优先级顺序(从最高到最低)是:
- ~
- << and >>
- &
- ^
- |