MATLAB - 按位运算


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

下表显示了常用的按位运算 -

功能 目的
位和(a, b) 整数ab的按位与
位CMP(一) a的按位补码
bitget(a,pos) 获取整数数组a中指定位置pos的位
比托尔(a,b) 整数ab的按位或
位集(a,位置) 在a的特定位置pos设置位
位移位(a,k) 返回a向左移动k位,相当于乘以 2 k。k 的负值对应于右移位或除以 2 |k| 并向负无穷四舍五入到最接近的整数。任何溢出位都会被截断。
位异或(a,b) 整数ab的按位异或
交换字节 交换字节顺序

例子

创建一个脚本文件并输入以下代码 -

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.htm