如果我有一个32位的整数。前28位(从左边开始)用于存储内存块的大小,接下来的两位是0,最后两位分别是:
- 用于存储是否为最后一个节点 - 用于存储是否被使用(分别)
我想知道如何在isLast操作和isUsed操作中打开和关闭标志。
(如果我们只考虑最后两个整数(再次从左边开始),那么01将不是最后一个并且被使用,另一个例子是11是最后一个并且被使用,00既不是最后一个也没有被使用。)
我希望能够以简单的方式打开和关闭标志。我知道我需要使用位运算符,包括&和|,但我不确定如何操作。
如果需要更多问题描述,请随时向我提问。
- 用于存储是否为最后一个节点 - 用于存储是否被使用(分别)
我想知道如何在isLast操作和isUsed操作中打开和关闭标志。
(如果我们只考虑最后两个整数(再次从左边开始),那么01将不是最后一个并且被使用,另一个例子是11是最后一个并且被使用,00既不是最后一个也没有被使用。)
我希望能够以简单的方式打开和关闭标志。我知道我需要使用位运算符,包括&和|,但我不确定如何操作。
如果需要更多问题描述,请随时向我提问。
data |= 2
打开了最后一个标志,而data &= ~2
关闭了它。 - Left For Archive&= ~
改为了^=
。我需要进行调查(还发现回滚似乎会清除历史记录,我希望能返回到以前的版本,哎!) - Andreas Brinck