Я понимаю, что один оператор амперсанда обычно используется для операции "поразрядного И". Однако может ли кто-нибудь помочь объяснить интересные результаты, которые вы получите, когда используете его для сравнения двух чисел?
Например:
(6 & 2) = 2
(10 & 5) = 0
(20 & 25) = 16
(123 & 20) = 16
Кажется, нет никакой логической связи между этими результатами - я что-то упускаю? Онлайн-документация, по-видимому, относится к сравнению булевых или одиночных бит.