cxfans
5/23/2019 - 6:44 AM

标志位操作理解

标志位操作理解

package main

import (
	"fmt"
)

func main() {
	a := 0

	a |= 1 << 2 // 00000100:在 bit2 设置标志位
	fmt.Printf("%08b\n", a)

	a |= 1 << 6 // 01000100:在 bit6 设置标志位
	fmt.Printf("%08b\n", a)

	a &^= 1 << 6 // 00000100:清除 bit6 的标志位
	fmt.Printf("%08b\n", a)
}