Difference between revisions of "And/fi"

From Lazarus wiki
Jump to navigationJump to search
m (Text replace - "delphi>" to "syntaxhighlight>")
Line 31: Line 31:
 
== Onko kakkosen potenssi ==
 
== Onko kakkosen potenssi ==
  
<delphi>
+
<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;   
</delphi>
+
</syntaxhighlight>
  
 
Jos kutsutaan IsPowerOfTwo(4) niin saadaan true. Jos kutsutaan IsPowerOfTwo(5) niin saadaan false .
 
Jos kutsutaan IsPowerOfTwo(4) niin saadaan true. Jos kutsutaan IsPowerOfTwo(5) niin saadaan false .

Revision as of 14:48, 24 March 2012

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

And (ja) boolean lausekkeessa

And eli ja -operaatio antaa true eli tosi arvon vain silloin kun molemmat operandit ovat tosia (true). Muissa tapauksissa tuloksena on epätosi eli false.

And eli ja-operaation totuustaulukko

A B   A and B (eli A ja B)  
  false     false     false
  false   true   false
  true   false   false
  true   true   true


And eli ja bittikohtaisissa toiminnoissa

Bitettäin tehtävä and (ja) asettaa kyseisen bitin ykköseksi (1) jos molemmat vastaavat bitit ovat ykkösiä (1). Muussa tapauksessa tulos on nolla (0).

Onko kakkosen potenssi

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;

Jos kutsutaan IsPowerOfTwo(4) niin saadaan true. Jos kutsutaan IsPowerOfTwo(5) niin saadaan false .

Lisätietoa