From 3076a1d54a6126d7688d6a339cecb4e490e8ad8e Mon Sep 17 00:00:00 2001 From: Igor V Belousov Date: Sat, 15 Jan 2022 20:03:48 +0000 Subject: [PATCH] Chaptor 3.1 --- ch3/ch31.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 ch3/ch31.go diff --git a/ch3/ch31.go b/ch3/ch31.go new file mode 100644 index 0000000..f8f1aae --- /dev/null +++ b/ch3/ch31.go @@ -0,0 +1,33 @@ +package main + +import "fmt" + +func main() { + var u uint8 = 255 + fmt.Println(u, u+1, u*u) // 255 0 1 + var i int8 = 127 + fmt.Println(i, i+1, i*i) // 127 -128 1 + + var x uint8 = 1<<1 | 1<<5 + var y uint8 = 1<<1 | 1<<2 + fmt.Printf("%08b\n", x) // 00100010 множество 1,5 + fmt.Printf("%08b\n", y) // 00000110 множество 1,2 + fmt.Printf("%08b\n", x&y) // 00000010 пересечение 1 + fmt.Printf("%08b\n", x|y) // 00100110 объеденение 1,2,5 + fmt.Printf("%08b\n", x^y) // 00100100 симметричная разность 2,5 + fmt.Printf("%08b\n", x&^y) // 00100000 расность 5 + + for index := uint(0); index < 8; index++ { + if x&(1<>1) // 00010001 множество 0,4 + + medals := []string{"золото", "серебро", "бронза"} + for index := len(medals) - 1; index >= 0; index-- { + fmt.Println(medals[index]) // "бронза", "серебро", "золото" + } +}