C 二进制操作



我正在尝试在不使用循环的情况下一步解决 C 操作。

我有:

unsigned int8 Dummy = 0x3F;//This values are for reference only, so can be different
unsigned int8 Dummy_2 = 0x02;
Dummy = Dummy ^ Dummy_2;

现在假人=0x3D

我必须将虚拟位设置为 0 Dummy_2 中的 1 位。 我的代码第一次工作正常,但如果我执行代码两次,它会切换回 1。 我可以用循环来做到这一点,但为了代码的清晰性,我试图在一行中做到这一点。

我会否定(*(Dummy_2,然后将其用作掩码:

Dummy &= (~Dummy_2);

(*( 编辑:
正如忙碌的蜜蜂在评论中指出的那样,"否定"是一个算术术语。这里的专有名词是"补充Dummy_2.

最新更新