matlab - 如何使用MATLAB中的bitset函数同时修改多个位

标签 matlab

>> a = 255

a =

   255

>> bitset(a,1,0)

ans =

   254

这里第一位设置为 0,因此我们得到 11111110 相当于 254

>> bitset(a,[1,2],0)

ans =

   254   253

此处第 1 位和第 2 位分别设置为 0。因此我们得到 11111110 相当于 254 11111101相当于253

如何得到 11111100 等于 252?

最佳答案

申请bitset两次:

bitset(bitset(a, 1, 0), 2, 0)

应用程序的顺序并不重要。

或者,您可以使用 bitset 相当于应用正确的 bitand 序列。 , bitorbitcmp操作。

既然您有兴趣关闭多个位,您可以这样做

bitand(bitset(a, 1, 0), bitset(a, 2, 0))

关于matlab - 如何使用MATLAB中的bitset函数同时修改多个位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51069987/

相关文章:

matlab - Pretty MuPad : Output of assignment, 表达式和一行结果 - 如何创建该函数?

performance - 简单的代码加速

image - 如何从 MATLAB 中的 JPEG 文件获取颜色图?

python - 使用 MNIST 数据集训练的 NN 和 CNN 数字识别前的预处理

matlab - 用不同的标记和颜色绘制两个 y 轴

Matlab - 膨胀函数替代

matlab - 在 Matlab 中使用 fitcsvm() 函数存储 ClassificationSVM 的数组/矩阵给我一个错误,我该如何解决它?

Matlab GUI,需要句柄对象

MATLAB - 使用 'clear' 时运行对象析构函数?

matlab - 将单元格划分为单列矩阵