有一個 64 位有符號整數(shù),我試圖每 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 關注
- 78 瀏覽
添加回答
舉報
0/150
提交
取消