# README
Header长度为9个字节,后面8个字节为8个字节的uint64
除了这个,还需要保存此次成功还是失败的 statusType 和 序列化类型 serializeType
- statusType 有两种状态,只需要一个bit
- serializeType 有4种类型,需要两个bit
一个字节有8个bit,所以我们可以用一个字节表示,减少存储空间
我们假设 一个byte的最后一个字节为 statusType
- get:我们只需要获取最后一个字节,忽略前面7个字节,也就是说与
0000 0001
(16进制就是 0x01)进行&运算,最后一个字节为0就是0,为1就是1 - set:先把最后一位清零
byte &^ 0x01
, 再获取要设置的最后一个bitbyte & 0x01
, 最后再进行一次|(或)运算
倒数2 3字节为 serializeType
- get:同理,与
0000 0110
(16进制就是 0x06)进行&运算,但是由于设置的是2 3字节,还需要>> 左移1位 - set:同理,清零倒数2 3字节,获取 2 3字节,获取bit时要先右移