4
üzerinden 3 bit açmak için böyle paketlenmiş:Nasıl 2, 2 ve ben 3 bayt (2x2bits ve 1x3bits) sahip varsayarsak bir byte
func pack(a, b, c byte) byte { // is there a more efficient way to pack them?
return a<<6 | b<<4 | c
}
func main() {
v := pack(1, 2, 6)
a := v >> 6
b := v >> 4 // wrong
c := v & 7
fmt.Println(v, a, b, c)
}
nasıl b
açmak mı?
Siz adam @JimB! – OneOfOne
Ayrıca maske, alan genişliği ile belirtilen her zaman izin verilen en yüksek değerdir. 2 bit geniş alan => maske 3'tür. – nemo