ビット演算についてメモしとく(ほとんど使用しないが...)
package main import ( "fmt" ) func main() { // 左シフト演算(1を左に3ビットシフト) fmt.Println("1 << 3=", 1 << 3) // 1 << 3= 8 // 右シフト演算(2進数で(10)を右に1ビットシフト) fmt.Println("2 >> 1=", 2 >> 1) // 2 >> 1= 1 // ビットクリア(and not) fmt.Println("3 &^ 6=", 3 &^ 6) // 3 &^ 6= 1 /* and notの考え方 3 and (not 6) 3(0011) 6(0110) notなので(1001) 0011 1001 ---- 0001 */ }