Difference between revisions of "And/fi"

From Lazarus wiki
Jump to navigationJump to search
(New page: {{And}} = And (ja) boolean lausekkeessa = '''And''' eli '''ja''' -operaatio antaa true eli tosi arvon vain silloin kun molemmat operandit ovat tosia (true). Muissa tapauksissa ...)
 
Line 1: Line 1:
{{And}}
+
{{And}} [[category:Suomi]]
  
 
= And (ja) boolean lausekkeessa =
 
= And (ja) boolean lausekkeessa =
Line 29: Line 29:
 
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).  
 
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).  
  
== Nollaa bitti ==
+
== Onko kakkosen potenssi ==
  
 
<delphi>
 
<delphi>
function ClearBit(const AValue, ABitNumber:integer):integer;
+
function IsPowerOfTwo( const aValue : longint ): boolean;
 +
var
 +
  x : longint;
 +
  b : boolean;
 
begin
 
begin
  result := AValue and not(1 shl ABitNumber);
+
  b := false;
end;
+
  if aValue <> 0 then
 +
    begin
 +
      x := aValue - 1;
 +
      x := x and aValue;
 +
      if x = 0 then b := true;
 +
    end;
 +
  result := b;
 +
end;
 
</delphi>
 
</delphi>
  
Jos funktiota kutsutaan ClearBit(%1111,1) niin saadaan %1101 (eli binääriluku %1111 on 15 desimaalikuna ja vastaavasti %1101 on 13). Jos kutsutaan funktiota ClearBit(13,2) niin tuloksena saadaan 9 (9 = %1001) .
+
Jos kutsutaan IsPowerOfTwo(4) niin saadaan true. Jos kutsutaan IsPowerOfTwo(5) niin saadaan false .
  
 
=== Lisätietoa ===
 
=== Lisätietoa ===
Line 47: Line 57:
 
* [[Function]]
 
* [[Function]]
 
* [[Integer/fi|Integer]]
 
* [[Integer/fi|Integer]]
 +
 +
* [[Shl# Clear a bit|Clear a bit]]

Revision as of 15:43, 16 October 2009

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

<delphi> 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; </delphi>

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

Lisätietoa