二进制某位数0变1,1变0

二进制操作(使用Go语言实现)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 把第三位修改为0,标识没有在线奖励可以领取
replyStatus.Status = replyStatus.Status &^ (1 << 2)

// 把第三位修改为1,标识有在线奖励未领取
reply.Status |= (1 << 2)

// 把binar的二进制数,第n+1位设置成1
binar | (1<<n)

// 把binar的二进制数,第n+1位设置成0
binar &^ (1 << n)

// 在Go中实际使用,如需改变原数,可直接使用如下形式
binar |= (1<<n)
binar &= ^(1 << n)