Использование символа каретки (^) в Ruby - PullRequest
23 голосов
/ 23 августа 2011
1 ^ 1
# => 0

1 ^ 2
# => 3

5 ^ 6
# => 3

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

1 Ответ

33 голосов
/ 23 августа 2011

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

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

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