Копия викизеркало

Это зеркало вики с pascal.chat. Правка, история и вход — там.

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.

Является ли операнд степенью двойки

pascal
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.

Версия 3, последнее изменение: WikiArchive, .