你如何读取每 N 位?
How do you read every N bits?
有一个 64 位有符号整数,我正在尝试每 4 位读取一次。
a := int64(1229782938247303441)
for i := 0; i < 16; i++ {
fmt.Printf("%v\n", byte(a) >> 4)
a >>= 4
}
最后一个值为 0,应该是 1。
使用a & 0xf
获取低4位。
值0xf
的低四位为1,其他所有位为0。按位与表达式 a & 0xf
的结果具有来自 a
的低四位和所有其他位中的零。
a := int64(1229782938247303441)
for i := 0; i < 16; i++ {
fmt.Printf("%v\n", a & 0xf)
a >>= 4
}
有一个 64 位有符号整数,我正在尝试每 4 位读取一次。
a := int64(1229782938247303441)
for i := 0; i < 16; i++ {
fmt.Printf("%v\n", byte(a) >> 4)
a >>= 4
}
最后一个值为 0,应该是 1。
使用a & 0xf
获取低4位。
值0xf
的低四位为1,其他所有位为0。按位与表达式 a & 0xf
的结果具有来自 a
的低四位和所有其他位中的零。
a := int64(1229782938247303441)
for i := 0; i < 16; i++ {
fmt.Printf("%v\n", a & 0xf)
a >>= 4
}