MATLAB - 位运算

MATLAB 提供了各种按位运算函数,例如"按位与"、"按位或"和"按位非"运算、移位运算等。

下表为常用的按位运算 −

函数 用途
bitand(a, b) 整数 ab 的按位 AND
bitcmp(a) a 的按位补码
bitget(a,pos) 获取整数数组a中指定位置pos的位
bitor(a, b) 整数 ab 的按位或
bitset(a, pos) a的特定位置pos设置位
bitshift(a, k) 返回 a 向左移动 k 位,相当于乘以 2k。k 的负值对应于右移位或除以 2|k| 并向负无穷舍入到最接近的整数。 任何溢出位都会被截断。
bitxor(a, b) 整数 ab 的按位异或
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

❮ matlab_operators.html