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 ...)
 
m (Fixed syntax highlighting)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{And}}
+
{{And}} [[category:Suomi]]
  
 
= And (ja) boolean lausekkeessa =
 
= And (ja) boolean lausekkeessa =
Line 23: Line 23:
 
|style="background: #eeeeee" |   true
 
|style="background: #eeeeee" |   true
 
|}
 
|}
 
  
 
= And eli ja bittikohtaisissa toiminnoissa =
 
= And eli ja bittikohtaisissa toiminnoissa =
Line 29: Line 28:
 
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>
+
<syntaxhighlight lang="pascal">
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
</delphi>
+
    begin
 +
      x := aValue - 1;
 +
      x := x and aValue;
 +
      if x = 0 then b := true;
 +
    end;
 +
  result := b;
 +
end;
 +
</syntaxhighlight>
  
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 ===
 +
 
* [[Not]]
 
* [[Not]]
 
* [[Shl]]
 
* [[Shl]]
Line 47: Line 57:
 
* [[Function]]
 
* [[Function]]
 
* [[Integer/fi|Integer]]
 
* [[Integer/fi|Integer]]
 +
 +
* [[Shl# Clear a bit|Clear a bit]]

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