Sign in Join
Wiki copytemporary

Xor/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Xor/ru

OldNewLine
1+# Логическая операция
2+
3+*Исключающее или* (**xor**) возвращает значение [[True/ru|true]] тогда и только тогда, когда один из операндов имеет значение true.
4+
5+## Таблица истинности
6+
7+| A | B | A xor B |
8+|-----------|-----------|---------|
9+|   false   |   false   |   false |
10+|   false |   true |   true |
11+|   true |   false |   true |
12+|   true |   true |   false |
13+
14+# Побитовая операция
15+
16+Побитовая операция xor устанавливает бит в значение 1 в тех местах, где отличаются соответствующие биты в операндах, и в 0, если биты одинаковые.
17+
18+## Переключение битов
19+
20+``` pascal
21+function ToggleBit(const AValue,ABitNumber:integer):integer;
22+begin
23+ result := AValue xor 1 shl ABitNumber;
24+end;
25+```
26+
27+Если вы вызовете ToggleBit(11,0), то результатом будет 10. Если вызовете ToggleBit(10,2), то результатом будет 14.
28+
29+## См. также
30+
31+- [[Variable parameter/ru|обмен значений с помощью XOR]]
32+- [[Shl/ru|Shl]]
33+- [[Const/ru|Const]]
34+- [[Function/ru|Function]]
35+- [[Integer/ru|Integer]]
36+
37+---
38+*From the Free Pascal wiki, page "Xor/ru", as it stood on 2020-03-03 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history