Что делает XOR Pascal ABC NET? (И ещё текст)
Да я знаю, но как это исключающее или?
И почему 4 xor 1 = 5??? а не 1, или я чего то не понимаю.
Не понимаете. Это такая операция "исключающее ИЛИ", побитная. Напишите 4 и 1 в 2-чном виде, и поймете.
Исключающее или (XOR)-логический элемент, который выдаёт True, если хотя бы один из операндов равен 1 и! false если оба равны нулю или 1! Вот таблица истинности:
0 0|0
1 0|1
0 1|1
1 1|0
xor полезен при работе с упакованными флагами
например мы работает с состоянием окна:
// Битовые флаги
WINDOW_VISIBLE = 1
WINDOW_MAXIMIZED = 2
int state = WINDOW_VISIBLE // изначально окно видимо
state ^= WINDOW_MAXIMIZED // теперь окно развернули
state ^= WINDOW_MAXIMIZED // теперь свернули
Код на C, но я думаю все равно понятно.
можно сделать вывод что операция xor обратима, т. е. a xor b xor b = a
Тебя зовут Петя или Вася. Исключающее или (xor - (x)or), либо одно, либо другое, но не вместе. С числами это побитовая операция в двоичном представлении чисел, не надо на этом заострять внимание. Смотри логические выражения.