Expand description
位操作原语与位域操作
Modules§
- bitmap
- 动态大小位图
Constants§
- BITS_
PER_ BYTE - 每字节位数
- BITS_
PER_ LONG - 每
usize位数
Functions§
- bit
- 返回仅第
nr位为一的usize掩码 - bit_
mask - 返回第
nr位在其所在 word 内的掩码 - bit_ull
- 返回仅第
nr位为一的u64掩码 - bit_
word - 返回第
nr位所在的 word 索引 - bits_
to_ longs - 计算存储
nr位所需的usizeword 数 - change_
bit - 翻转第
nr位 - clear_
bit - 清除第
nr位 - deposit32
- 将
fieldval写入value的[start, start + length)位域(u32) - deposit64
- 将
fieldval写入value的[start, start + length)位域(u64) - extract8
- 从
value中提取[start, start + length)位域(u8) - extract16
- 从
value中提取[start, start + length)位域(u16) - extract32
- 从
value中提取[start, start + length)位域(u32) - extract64
- 从
value中提取[start, start + length)位域(u64) - find_
first_ bit - 查找第一个为一的位, 找不到时返回
size - find_
first_ zero_ bit - 查找第一个为零的位, 找不到时返回
size - find_
last_ bit - 查找最后一个为一的位, 找不到时返回
size - find_
next_ bit - 从
offset起查找下一个为一的位, 找不到时返回size - find_
next_ zero_ bit - 从
offset起查找下一个为零的位, 找不到时返回size - half_
shuffle32 - 将低 16 位交错展开到奇数位, 偶数位清零(u32)
- half_
shuffle64 - 将低 32 位交错展开到奇数位, 偶数位清零(u64)
- half_
unshuffle32 - 将奇数位压缩到低半部分, 高半部分清零(u32)
- half_
unshuffle64 - 将奇数位压缩到低半部分, 高半部分清零(u64)
- make_
64bit_ mask - 生成从
shift起长度为length的 64 位掩码 - set_bit
- 置位第
nr位 - test_
and_ change_ bit - 翻转第
nr位, 返回该位的旧值 - test_
and_ clear_ bit - 清除第
nr位, 返回该位的旧值 - test_
and_ set_ bit - 置位第
nr位, 返回该位的旧值 - test_
bit - 测试第
nr位是否为一