Difference between revisions of "Or"

From Lazarus wiki
m (Text replace - "delphi>" to "syntaxhighlight>")
Line 30: Line 30:
  
 
== Set a bit ==
 
== Set a bit ==
<delphi>
+
<syntaxhighlight>
 
function SetBit(const AValue, ABitNumber:integer):integer;
 
function SetBit(const AValue, ABitNumber:integer):integer;
 
begin
 
begin
 
   result := AValue or (1 shl ABitNumber);
 
   result := AValue or (1 shl ABitNumber);
 
end;
 
end;
</delphi>
+
</syntaxhighlight>
 
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.
 
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.
  

Revision as of 15:49, 24 March 2012

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

Boolean operation

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

Truth table

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


Bitwise operation

Bitwise or sets the bit to 1 if one corresponding bits in its operands are 1, and to 0 if they all 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.

Read more