package main

import "fmt"

func main() {
	// << (prioritas 5) lebih tinggi daripada + (prioritas 4).
	fmt.Println("1<<2+3   :", 1<<2+3)

	// Kurung mengubah pengelompokan evaluasi secara eksplisit.
	fmt.Println("1<<(2+3) :", 1<<(2+3))

	// Operator berprioritas sama dievaluasi dari kiri ke kanan.
	fmt.Println("10-4-3   :", 10-4-3)
	fmt.Println("2*3%4    :", 2*3%4)

	// && (prioritas 2) lebih tinggi daripada || (prioritas 1).
	fmt.Println("true||false&&false :", true || false && false)

	// ^ biner adalah XOR; ^ tunggal melengkapi bit (two's complement).
	fmt.Println("^2       :", ^2)
	fmt.Println("6^3      :", 6^3)
}
