MATLAB提供了各种位运算函数,如“位与”、“位或”和“位非”运算、移位运算等。
下表显示了常用的按位运算-
函数 | 描述 |
---|---|
bitand(a, b) | 整数 a 和 b 的位与 |
bitcmp(a) | A 的位式补码 |
bitget(a,pos) | 在整数数组a的指定位置获取位 |
bitor(a, b) | 整数a和b的按位或 |
bitset(a, pos) | 将bit设置为a的特定位置pos |
bitshift(a, k) | 返回一个由向左移动ķ比特,相当于乘以2 ķ。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