And/ru
Deutsch · English · Español · Français · Suomi · Русский
Логическая операция
Логическая операция 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.
См. также
From the Free Pascal wiki, page "And/ru", as it stood on 2020-01-26 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.