Подтвердить что ты не робот

Использование символа каретки (^) в Ruby

1 ^ 1
# => 0

1 ^ 2
# => 3

5 ^ 6
# => 3

Это результаты, которые я получаю. Может ли кто-нибудь объяснить, как работает ^?

4b9b3361

Ответ 1

Это побитовый оператор XOR.

Для каждого бита в двоичном представлении операндов побитовый XOR получит 1 бит, если один из соответствующих битов в операндах равен 1, но не оба, иначе XOR получит 0 бит. Вот пример:

5     = 101
6     = 110
5 ^ 6 = 011 = 3