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]] | ||
− | |||
− |
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.