Difference between revisions of "Or"

From Free Pascal wiki
Jump to navigationJump to search
Line 26: Line 26:
 
= Bitwise operation =
 
= Bitwise operation =
  
Logical '''Or''' (aka Bitwise Or) requires ordinal operands and sets the bit to 1 if one corresponding bit in its operands is 1, and to 0 if both are 0.
+
Logical '''Or''' (aka Bitwise Or) requires ordinal operands and sets and a bit in the result variable to 1 if one corresponding bit in its operands is 1, and to 0 if both are 0.
  
 
== Set a bit ==
 
== Set a bit ==

Revision as of 04:56, 14 June 2016

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

Boolean operation

Boolean Or produces a value of true if some value is true and false if both of its Boolean operands are false.

Truth table

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

Bitwise operation

Logical Or (aka Bitwise Or) requires ordinal operands and sets and a bit in the result variable to 1 if one corresponding bit in its operands is 1, and to 0 if both are 0.

Set a bit

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

If you call SetBit(%1000,1) then get %1010 (%1000 = 8 and %1010 = 10). If you call SetBit(10,2) then get 14 (14 = %1110). If you call SetBit(10,1) then get 10.

See also