Побитовое И, ИЛИ и исключающее ИЛИ в Go
Три знака соединяют биты двух чисел: оба,
хотя бы один и разные. Знак & оставляет
единицу там, где в обоих операндах единица.
Знак | ставит единицу, если она есть
хотя бы в одном числе. Знак ^ в
паре чисел дает единицу там, где разряды
не совпадают.
Тот же знак ^ с одним операндом
означает уже другое действие, его разберем
в следующем уроке. Здесь он всегда стоит
между двумя числами.
Сравним числа 12 и 10 и выведем
результаты в десятичном и двоичном виде:
a := 12
b := 10
and := a & b
or := a | b
xor := a ^ b
fmt.Println(and, or, xor)
fmt.Printf("%b %b %b\n", and, or, xor)
Даны числа:
x := 9
y := 5
Найдите поразрядное И x и y
и запишите результат.
Даны числа:
p := 6
q := 3
Соедините разряды так, чтобы единица
осталась, если она есть хотя бы в одном
числе. Запишите результат для p
и q.
Даны числа:
m := 15
n := 10
Найдите число, где единицы только в
разрядах, где m и n
различаются.