我遇到了一些将&
和~
运算符一起使用的代码。该代码将给定的二进制字符串作为其整数-在这种情况下为11100001001-然后执行此操作...
comp.setflags(slot,(comp.getflags(slot)&~flags.READONLY));
我认为是将原始二进制字符串号作为其整数值,然后用另一个整数&&'将其整数化,我相信是1,但不确定。因此,基本上是:
int i = int_1 &~ int_2;
新的二进制字符串是11100001000。
一旦该位反转,它就不会在对象(“插槽”)上的后续运行中作用于新的位字符串;
第一次:
之前:11100001001
之后:11100001000
第二次:
之前:11100001000
之后:11100001000
所有后续时间:
之前:11100001000
之后:11100001000
这正是我需要执行的代码。我只是想了解&~
的含义,它的定义以及如何将需要翻转的位置翻转一下,然后在该位置单独放置。