我在 C++ 中有:
typedef struct _msk {
char abc[4];
//some more variables
}
_msk mr;
if (some condition >= 70) {
mr.abc[0] |= 0xC0; //C0 in binary 11000000
mr.abc[1] |= 0x20; //20 in binary 100000
mr.abc[2] |= 0x44; //44 in binary 1000100
}
这里 OR 操作正在进行,之后将存储该值。所以在内存中是不是像 (0th)11000000(1st)100000(2nd)1000100 因为它们在数组中?[4]中实际可以存储多少位(总共0+1+2+3+4)。
在 Java 中:
private BitSet abc = new BitSet(40);
如果需要更新或修改位,我们可以使用 bitset 类提供的 set 或 get 方法。在java中,如果我们需要进行OR运算,我们需要在后缀中添加0以获得相同的结果。我们可以在 C++ 中避免哪些?谢谢