Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Инволютивность XOR (https://javascript.ru/forum/misc/53934-involyutivnost-xor.html)

moron 24.02.2015 20:52

Инволютивность XOR
 
Вобщем следующая ситуация:
(123+4)^119 // == 8
(8+4)^123 // == 119
//тут верно. Так как должно быть

(62+4)^22 // == 84
(84+4)^62 // == 102 - должно быть 22
//ошибка какая-то

Кто-нибудь знает в чем дело? На других яп не пробовал.
п.с: возможно создал пост в спешке и ошибка очевидна.. :(

danik.js 24.02.2015 21:03

Цитата:

Сообщение от moron
должно быть 22

С чего ты это взял?
Код:

1011000 : 84+4
0111110 : 62
1100110 : (84+4)^62


moron 24.02.2015 21:11

Ну математика там тыры-пыры. Свойство такое A ⊕ B ⊕ B == A, а значит и 52^81^21^99^99^21^81 == 52
Я уже посчитал на листочке и, да, не сходится, как у тебя.
Если же взять обратно, т.е
(84+4)^62 // ==102
(102+4)^84 // == 62
//опять сходится.

danik.js 24.02.2015 21:17

А, я было подумал что в заголовке темы какое-то слово для понта просто написано ))
Новое слово для меня. Вобще, я не понял причем тут плюсы в скобках.

Так то, если речь про XOR, то все сохдится:
88^62 = 102
102^88 = 62

Этим XOR и славится :)

А прикол с плюсом - это просто совпадение. Поменяй 4 на 5 и все сломается. Блин, спать рубит, не соображу почему с 4 срабатывает.


Часовой пояс GMT +3, время: 02:45.