有一个 64 位有符号整数,我试图每 4 位读取一次。a := int64(1229782938247303441)for i := 0; i < 16; i++ { fmt.Printf("%v\n", byte(a) >> 4) a >>= 4 }最后一个值是 0,应该是 1。
1 回答

慕码人2483693
TA贡献1860条经验 获得超9个赞
用于a & 0xf获取底部 4 位。
该值0xf在低四位中具有一位,在所有其他位中具有零。按位与表达式的结果a & 0xf具有低四位a,所有其他位为零。
a := int64(1229782938247303441)
for i := 0; i < 16; i++ {
fmt.Printf("%v\n", a & 0xf)
a >>= 4
}
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消