阅读(1212) (14)

MATLAB位运算

2017-08-10 18:49:54 更新

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