Difference between revisions of "And/fi"

From Free Pascal wiki
Jump to navigationJump to search
m (Text replace - "delphi>" to "syntaxhighlight>")
m (Fixed syntax highlighting)
 
Line 23: Line 23:
 
|style="background: #eeeeee" |   true
 
|style="background: #eeeeee" |   true
 
|}
 
|}
 
  
 
= And eli ja bittikohtaisissa toiminnoissa =
 
= And eli ja bittikohtaisissa toiminnoissa =
Line 31: Line 30:
 
== Onko kakkosen potenssi ==
 
== Onko kakkosen potenssi ==
  
<syntaxhighlight>
+
<syntaxhighlight lang="pascal">
 
function IsPowerOfTwo( const aValue : longint ): boolean;
 
function IsPowerOfTwo( const aValue : longint ): boolean;
 
var
 
var
Line 51: Line 50:
  
 
=== Lisätietoa ===
 
=== Lisätietoa ===
 +
 
* [[Not]]
 
* [[Not]]
 
* [[Shl]]
 
* [[Shl]]

Latest revision as of 07:43, 26 January 2020

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