golang实现二进制位

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
type Bit int16

// 设置第i位置为1
func (b *BitMask) Set(i int) {
*b |= (1 << (i - 1))
}

// 判断是否第i位是否为1
func (b BitMask) IsSet(i int) bool {
return b&(1<<(i-1)) != 0
}

// 设置第i位置为0,即取消设置第i位
func (b *BitMask) Unset(i int) {
*b &^= (1 << (i - 1))
}


golang实现二进制位
https://nrbackback.github.io/2023/02/21/golang实现二进制位/
作者
John Doe
发布于
2023年2月21日
许可协议