Difference between revisions of "Or/ru"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{Or}} = Логическая операция = Логическая операция '''Or''' выдает значение true в случае, если лю...")
 
m (Fixed syntax highlighting; removed categories included in template)
 
(One intermediate revision by one other user not shown)
Line 29: Line 29:
  
 
== Установка бита ==
 
== Установка бита ==
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
function SetBit(const AValue, ABitNumber:integer):integer;
 
function SetBit(const AValue, ABitNumber:integer):integer;
 
begin
 
begin
Line 38: Line 39:
  
 
== См. также ==
 
== См. также ==
 +
 
* [[And/ru|And]]
 
* [[And/ru|And]]
 
* [[Const/ru|Const]]
 
* [[Const/ru|Const]]
Line 44: Line 46:
 
* [[Shl/ru|Shl]]
 
* [[Shl/ru|Shl]]
 
* [[Shr/ru|Shr]]
 
* [[Shr/ru|Shr]]
<br>
 
<br>
 
[[category:Pascal]]
 

Latest revision as of 05:36, 23 February 2020

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

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

Логическая операция Or выдает значение true в случае, если любой из операндов имеет значение true и false, если оба логических операнда равны false.

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

A B A or B
  false     false     false
  false   true   true
  true   false   true
  true   true   true

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

Для логической операции Or (также известна, как Побитовое ИЛИ) требуются операнды порядкового типа и в результирующей переменной бит устанавливается в 1, если один из соответствующих битов в операндах равен 1, и в 0 если оба бита равны 0.

Установка бита

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

Если вы вызовете SetBit(%1000,1), то получится %1010 (%1000 = 8 and %1010 = 10). Если вызовете SetBit(10,2), то получится 14 (14 = %1110). Если вызовете SetBit(10,1), то результатом будет 10.

См. также