
【计】 bitwise operator
【计】 bit-by-bit; bitwise
【计】 OP; operator symbol
【化】 operator
在计算机科学中,按位算符(英文:Bitwise Operators)是一类直接对整数在二进制位(bit)级别进行操作的运算符。它们作用于整数的每一位(0或1),而非整个数值本身。以下是主要按位算符的详细解释:
按位与 (Bitwise AND - &
):
5 & 3
(二进制:101 & 011
) = 001
(十进制 1)。value & 0xFF
可以获取一个整数的低8位。按位或 (Bitwise OR - |
):
5 | 3
(二进制:101 | 011
) = 111
(十进制 7)。按位异或 (Bitwise XOR - ^
):
5 ^ 3
(二进制:101 ^ 011
) = 110
(十进制 6)。按位取反 (Bitwise NOT - ~
):
~5
(假设8位系统,二进制 00000101
) = 11111010
(十进制 -6,在补码表示法中)。左移 (Left Shift - <<
):
5 << 1
(二进制 101
左移1位) = 1010
(十进制 10)。右移 (Right Shift - >>
):
5 >> 1
(无符号数 101
右移1位) = 010
(十进制 2)。-5 >> 1
(补码 11111011
右移1位,符号位填充) = 11111101
(十进制 -3)。核心概念
&&
, ||
, !
)操作的是布尔值(真/假),而按位运算符操作的是整数中的各个位。参考来源:
按位运算符是直接对二进制数的每一位进行运算的操作符,常见于底层编程、硬件操作和性能优化场景。以下是主要按位运算符的详细解释:
按位与(AND)
符号:&
规则:两位同时为1时结果为1,否则为0
示例:
5 (101) & 3 (011) → 1 (001)
用途:提取特定位、清零操作。
按位或(OR)
符号:|
规则:任意一位为1则结果为1
示例:
5 (101) | 3 (011) → 7 (111)
用途:设置特定位为1。
按位异或(XOR)
符号:^
规则:两位不同则为1,相同则为0
示例:
5 (101) ^ 3 (011) → 6 (110)
用途:交换变量值、数据加密。
按位取反(NOT)
符号:~
(单目运算符)
规则:0变1,1变0
示例(假设8位有符号数):
~5 (00000101) → 250 (11111010)
位移运算符
<<
:5 << 1 → 10
(相当于乘以2)>>
:-8 >> 1 → -4
应用场景:
注意:不同编程语言对位移运算符的处理可能不同(如Java有>>>
无符号右移),使用前需查阅具体语言规范。按位运算虽然高效,但会降低代码可读性,建议在必要时添加注释说明。
【别人正在浏览】