如何在VBA中设置不同的位

时间:2015-10-29 14:23:46

标签: vba excel-vba excel

我需要在VBA中使用位操作。例如,我想在1秒内将第一位设置为0秒,依此类推。我该怎么做?

非常感谢!

1 个答案:

答案 0 :(得分:1)

你可以使用面具。

如果您要设置* n-th位,您可以对原始值执行Or操作,并使用0 之外的掩码执行n-th职位。

这样,1100 Or 0001会将第一位设置为11011100 Or 0010会设置第二位,结果为1110

如果你想取消* n-th位置,你可以做相反的事情。使用填充And 的掩码对原始值执行1操作,但 n-th位置除外。

这样,0011 And 1110将取消导致0010的第一位,0011 And 1101将取消设置第二位,从而产生0001

* Set表示将该位变为1. Unset表示将该位变为0。