MATLAB - 位运算
MATLAB 提供了各种按位运算函数,例如"按位与"、"按位或"和"按位非"运算、移位运算等。
下表为常用的按位运算 −
函数 | 用途 |
---|---|
bitand(a, b) | 整数 a 和 b 的按位 AND |
bitcmp(a) | a 的按位补码 |
bitget(a,pos) | 获取整数数组a中指定位置pos的位 |
bitor(a, b) | 整数 a 和 b 的按位或 |
bitset(a, pos) | 在a的特定位置pos设置位 |
bitshift(a, k) | 返回 a 向左移动 k 位,相当于乘以 2k。k 的负值对应于右移位或除以 2|k| 并向负无穷舍入到最接近的整数。 任何溢出位都会被截断。 |
bitxor(a, b) | 整数 a 和 b 的按位异或 |
swapbytes | 交换字节顺序 |
示例
创建脚本文件并输入以下代码 −
a = 60; % 60 = 0011 1100 b = 13; % 13 = 0000 1101 c = bitand(a, b) % 12 = 0000 1100 c = bitor(a, b) % 61 = 0011 1101 c = bitxor(a, b) % 49 = 0011 0001 c = bitshift(a, 2) % 240 = 1111 0000 */ c = bitshift(a,-2) % 15 = 0000 1111 */
当您运行该文件时,它会显示以下结果 −
c = 12 c = 61 c = 49 c = 240 c = 15