Difference between revisions of "And/es"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{And}} == Operación booleana == Boolean '''And''' produce un valor de true si y sólo si ambos operandos booleanos son verdaderos. === Tabla de True === {| clas...")
 
m (Fixed syntax highlighting; deleted category already in page template)
 
(One intermediate revision by one other user not shown)
Line 30: Line 30:
 
=== Es potencia de dos ===
 
=== Es potencia de dos ===
  
<syntaxhighlight>
+
<syntaxhighlight lang="pascal">
 
function EsPotenciaDeDos ( const unValor : longint ): boolean;
 
function EsPotenciaDeDos ( const unValor : longint ): boolean;
 
var
 
var
Line 47: Line 47:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Si llamas a EsPotenciaDeDos(4) entonces obtienes True. Si llamas a EsPotenciaDeDos(5) obtienes False .
+
Si llamas a EsPotenciaDeDos(4) entonces obtienes True. Si llamas a EsPotenciaDeDos(5) obtienes False.
  
 
== También ver ==
 
== También ver ==
Line 60: Line 60:
 
* [[Shl# Clear a bit|Clear a bit]]
 
* [[Shl# Clear a bit|Clear a bit]]
 
* [[Bit manipulation]]
 
* [[Bit manipulation]]
 
[[Category:Pascal]]
 

Latest revision as of 07:42, 26 January 2020

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

Operación booleana

Boolean And produce un valor de true si y sólo si ambos operandos booleanos son verdaderos.

Tabla de True

A B A and B
  false     false     false
  false   true   false
  true   false   false
  true   true   true

Operación a bit

Logical And (también conocido como Bitwise And) requiere operandos ordinales y establece un bit en la variable de resultado a 1 si y sólo si ambos bits correspondientes en los operandos son 1.

Es potencia de dos

function EsPotenciaDeDos ( const unValor : longint ): boolean;
var
  x : longint;
  b : boolean;
begin
  b := false;
  if unValor <> 0 then
    begin
      x := unValor - 1;
      x := x and unValor;
      if x = 0 then b := true;
    end;
  result := b;
end;

Si llamas a EsPotenciaDeDos(4) entonces obtienes True. Si llamas a EsPotenciaDeDos(5) obtienes False.

También ver