我试图理解这段用于返回字节数组前缀为多少个零的代码,但我不确定 0x1 是什么。谷歌搜索没有帮助,但我假设0x1正在返回第一位?这些叫什么?
另外,我知道这是一个单独的问题,但我不认为它需要一个新线程:我不太明白为什么我们要在这里嵌套循环、位移和从 7 中减去 j。字节是这样的吗转化为二进制?
IdLength := 32
func PrefixLen(count [IdLength]byte) int {
for i := 0; i < IdLength; i++ {
for j := 0; j < 8; j++ {
if (count[i]>>uint8(7-j))&0x1 != 0 {
return i*8 + j
}
}
}
return IdLength*8 - 1
}
忽然笑
相关分类