位運算,是兩個數(shù)字的二進制對應(yīng)的值误算,每一位仰美,進行運算,得出新值的過程
& = 兩個數(shù)儿礼,每一位咖杂,同時都=1,則返回1蚊夫,其余0诉字。
| = 兩個數(shù),每一位,任意一位=1壤圃,則返回1陵霉,否則0。
^ = 兩個數(shù)伍绳,每一位踊挠,只有一位=1,則返回1冲杀,否則0
&^^ = 兩個數(shù)效床,如果第二個數(shù)的某一位=1,則修改第一個數(shù)對應(yīng)的位的值=0漠趁,否則第一個數(shù)對應(yīng)的位數(shù)的值不變扁凛。
第一個數(shù) 0110
第二個數(shù) 1011
進行&運算
0010
進行|運算
1111
進行^運算
1101
進行|運算
0100
/**
6 0110
11 1011
& 0010 2
| 1111 15
^ 1101 13
&^ 0100 4
*/
func main() {
fmt.Println(6 & 11)
fmt.Println(6 | 11)
fmt.Println(6 ^ 11)
fmt.Println(6 &^ 11)
}