所以如果我有一个 32 位的整数。前 28 位(左起)用于存储内存块的大小,接下来的两位是 0,最后两位是:
- 存储如果它是最后一个节点然后
- 存储是否使用(分别)。
我想做的是知道如何在 isLast 操作和 isUsed 操作上打开和关闭标志。
(如果我们只考虑最后两个整数(同样,我们从左开始),那么 01 将不是最后一个并且被使用,例如,再一个例子是 11 是最后一个并且被使用,00 不是最后一个并且没有被使用。)
我希望能够以简单的方式打开和关闭标志。我知道我需要使用位运算,包括 & 和 |但我不知道怎么办。
如果您需要问题的更多描述,请向我提问。
//turn on isUsed
data |= 1;
//turn off isUsed
data &= ~1;
//turn on notLast
data &= ~2;
//turn off notLast
data |= 2;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)