/*
X Y | X ^ Y
0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 0
*/
package main
import (
"fmt"
)
func main() {
var x, y int
x, y = 5, 5
fmt.Printf("%08b\n", x)
fmt.Println("^")
fmt.Printf("%08b\n", y)
fmt.Println("=")
fmt.Printf("%08b\n", x ^ y)
fmt.Println("\n")
x, y = 7, 0
fmt.Printf("%08b\n", x)
fmt.Println("^")
fmt.Printf("%08b\n", y)
fmt.Println("=")
fmt.Printf("%08b\n", x ^ y)
fmt.Println("\n")
x, y = 0, 6
fmt.Printf("%08b\n", x)
fmt.Println("^")
fmt.Printf("%08b\n", y)
fmt.Println("=")
fmt.Printf("%08b\n", x ^ y)
fmt.Println("\n")
x, y = 0, 0
fmt.Printf("%08b\n", x)
fmt.Println("^")
fmt.Printf("%08b\n", y)
fmt.Println("=")
fmt.Printf("%08b\n", x ^ y)
fmt.Println("\n")
}
/*
run:
00000101
^
00000101
=
00000000
00000111
^
00000000
=
00000111
00000000
^
00000110
=
00000110
00000000
^
00000000
=
00000000
*/