Difference between revisions of "And"
From Lazarus wiki
Jump to navigationJump to searchm (Text replace - "delphi>" to "syntaxhighlight>") |
|||
Line 31: | Line 31: | ||
== Is power of two == | == Is power of two == | ||
− | < | + | <syntaxhighlight> |
function IsPowerOfTwo( const aValue : longint ): boolean; | function IsPowerOfTwo( const aValue : longint ): boolean; | ||
var | var | ||
Line 46: | Line 46: | ||
result := b; | result := b; | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
If you call IsPowerOfTwo(4) then get true. If you call IsPowerOfTwo(5) then get false . | If you call IsPowerOfTwo(4) then get true. If you call IsPowerOfTwo(5) then get false . |
Revision as of 14:48, 24 March 2012
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
русский (ru) │
Boolean operation
And produces a value of true if and only if both of its operands are true.
Truth table
A | B | A and B |
---|---|---|
false | false | false |
false | true | false |
true | false | false |
true | true | true |
Bitwise operation
Bitwise and sets a bit to 1 if and only if all of the corresponding bits in its operands are 1.
Is power of two
function IsPowerOfTwo( const aValue : longint ): boolean;
var
x : longint;
b : boolean;
begin
b := false;
if aValue <> 0 then
begin
x := aValue - 1;
x := x and aValue;
if x = 0 then b := true;
end;
result := b;
end;
If you call IsPowerOfTwo(4) then get true. If you call IsPowerOfTwo(5) then get false .