我试图理解这段用于返回字节数组前缀为多少个零的代码,但我不确定 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

}