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
MATLAB位运算与移位操作详解
本文介绍了MATLAB中的位运算函数,包括位与、位补码、位或、位异或、位设置、位移位等,并通过实例展示了如何使用这些函数进行操作。通过示例代码和运行结果,读者可以理解每个函数的功能及其在实际操作中的应用。
1392

被折叠的 条评论
为什么被折叠?



