位运算
位运算 | |
---|---|
术语名称 | 位运算 |
英语名称 | bitwise operation |
别名 | 按位运算 |
位运算(bitwise operation)指对二进制串的一类运算。这些运算不考虑二进制串整体的数据,而是将其当作很多二进制位,以二进制位作为处理单元进行运算。
位运算有时也说发生在二进制数上,此时指将这个二进制数字面地看成二进制串(可能要求补齐位数等预处理);如果表达为对某个数直接进行位运算,也是指将这个数转换为二进制记数法以后,将其二进制形式作为二进制串进行位运算。[1]
进一步地,位运算也指其他数据上的运算,此时默认指位运算在这些数据被数据编码为二进制串以后的数据上的运算。
常见位运算
位运算 | ||
---|---|---|
按位运算 | 按位运算 | 按位取反、按位与、按位或、按位异或 |
特殊情况 | 掩码、位设置、位清除、位反转 | |
移位运算 | 算术移位 | 算术左移、算术右移 |
逻辑移位 | 逻辑左移、逻辑右移 | |
循环移位 | 循环左移、循环右移 |
- ↑ 严格地说,二进制数是与进制无关地指向一个作为数的数学对象的,与二进制串不是相同的对象,需要分成两部分说,而不同进制的数则是同一个数学对象,逻辑上不需要拆分成两个子句,这里只是为了便于理解平行地写成三条规则。