MATLAB提供位运算,如'位','位或'和'位不操作,移位操作等各种函数
以下的表格显示了常用的按位运算:
函数 | 目的/作用 |
---|---|
bitand(a, b) | 整数a和b的逐位AND |
bitcmp(a) | a的位补码 |
bitget(a,pos) | 在指定位置pos中获取位,在整数数组A中 |
bitor(a, b) | 整数a和b的逐位OR |
bitset(a, pos) | 在某一位置上设置位 |
bitshift(a, k) | 返回向左移位k位,相当于乘以2k。k的负值对应于向右移位或除以2 | k | 并舍入到最接近的整数到负无穷大。任何溢出位都被截断。 |
bitxor(a, b) | 整数a和b的逐位异或 |
swapbytes | 交换字节顺序 |
详细例子
在MATLAB中建立一个脚本文件,并输入下面的代码:
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