Difference between revisions of "And/ru"
From Free Pascal wiki
Jump to navigationJump to search (Created page with "{{And}} == Логическая операция == Логическая операция '''And''' выдает значение true тогда и только...") |
m (Fixed syntax highlighting; deleted category already in page template) |
||
Line 30: | Line 30: | ||
=== Является ли операнд степенью двойки === | === Является ли операнд степенью двойки === | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang="pascal"> |
function IsPowerOfTwo( const aValue : longint ): boolean; | function IsPowerOfTwo( const aValue : longint ): boolean; | ||
var | var | ||
Line 50: | Line 50: | ||
== См. также == | == См. также == | ||
+ | |||
* [[Not/ru|Not]] | * [[Not/ru|Not]] | ||
* [[Or/ru|Or]] | * [[Or/ru|Or]] | ||
Line 60: | Line 61: | ||
* [[Shl# Clear a bit|Clear a bit]] | * [[Shl# Clear a bit|Clear a bit]] | ||
* [[Bit manipulation/ru|Bit manipulation]] | * [[Bit manipulation/ru|Bit manipulation]] | ||
− | |||
− |
Latest revision as of 07:45, 26 January 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
русский (ru) │
Логическая операция
Логическая операция And выдает значение true тогда и только тогда, когда оба логических операнда равны true.
Таблица истинности
A | B | A and B |
---|---|---|
false | false | false |
false | true | false |
true | false | false |
true | true | true |
Побитовая операция
Для логической операции And (также известна, как Побитовое И) требуются операнды порядкового типа и в результирующей переменной бит устанавливается в 1 тогда и только тогда, когда оба соответствующих бита равны 1.
Является ли операнд степенью двойки
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;
Если вы вызовете IsPowerOfTwo(4), то получите результат true. Если вызовете IsPowerOfTwo(5), то результатом будет false.