MATLAB - 位运算



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

下表显示了常用的位运算:

函数 用途
bitand(a, b) 整数 ab 的按位与
bitcmp(a) a 的按位取反
bitget(a,pos) 获取整数数组 a 中指定位置 pos 的位
bitor(a, b) 整数 ab 的按位或
bitset(a, pos) 设置 a 的特定位置 pos 的位
bitshift(a, k) 返回 a 左移 k 位的结果,相当于乘以 2kk 的负值对应于右移位或除以 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.htm
广告
© . All rights reserved.