Difference between revisions of "Xor/ru"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{Xor}} = Логическая операция = ''Исключающее или'' ('''xor''') возвращает значение true тогда и толь...")
 
m (Fixed syntax highlighting)
 
Line 32: Line 32:
 
== Переключение битов ==
 
== Переключение битов ==
  
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
function ToggleBit(const AValue,ABitNumber:integer):integer;
 
function ToggleBit(const AValue,ABitNumber:integer):integer;
 
begin
 
begin
Line 42: Line 42:
  
 
== См. также ==
 
== См. также ==
 +
 
* [[Variable_parameter/ru#XOR swap| обмен значений с помощью XOR]]
 
* [[Variable_parameter/ru#XOR swap| обмен значений с помощью XOR]]
 
* [[Shl/ru|Shl]]
 
* [[Shl/ru|Shl]]
Line 47: Line 48:
 
* [[Function/ru|Function]]
 
* [[Function/ru|Function]]
 
* [[Integer/ru|Integer]]
 
* [[Integer/ru|Integer]]
<br>
 
<br>
 

Latest revision as of 09:19, 3 March 2020

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

Логическая операция

Исключающее или (xor) возвращает значение true тогда и только тогда, когда один из операндов имеет значение true.


Таблица истинности

A B A xor B
  false     false     false
  false   true   true
  true   false   true
  true   true   false


Побитовая операция

Побитовая операция xor устанавливает бит в значение 1 в тех местах, где отличаются соответствующие биты в операндах, и в 0, если биты одинаковые.

Переключение битов

function ToggleBit(const AValue,ABitNumber:integer):integer;
begin
   result := AValue xor 1 shl ABitNumber;
end;

Если вы вызовете ToggleBit(11,0), то результатом будет 10. Если вызовете ToggleBit(10,2), то результатом будет 14.

См. также