LearnGoDonovan/ch3/ch31.go

34 строки
1.1 KiB
Go
Исходник Постоянная ссылка Обычный вид История

2022-01-15 20:03:48 +00:00
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<<index) != 0 { // проверка принадлежности множеству
fmt.Println(index) // 1 \n 5
}
}
fmt.Printf("%08b\n", x<<1) // 01000100 множество 2,6
fmt.Printf("%08b\n", x>>1) // 00010001 множество 0,4
medals := []string{"золото", "серебро", "бронза"}
for index := len(medals) - 1; index >= 0; index-- {
fmt.Println(medals[index]) // "бронза", "серебро", "золото"
}
}