MATLAB 按位运算

Matlab 运算符

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

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

函数描述
bitand(a, b)

整数 a 和 b 的位与

bitcmp(a)

A 的位式补码

bitget(a,pos)

在整数数组a的指定位置获取位

bitor(a, b)整数ab的按位或
bitset(a, pos)

将bit设置为a的特定位置pos

bitshift(a, k)返回一个由向左移动ķ比特,相当于乘以2 ķ。k的负值对应于右移位或除以2 | k | 并朝负无穷大四舍五入到最接近的整数。任何溢出位都将被截断。
bitxor(a, b)

整数 a 和 b 的位异或

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 运算符