Логічний тип даних

(Перенаправлено з Bool)
Немає перевірених версій цієї сторінки; ймовірно, її ще не перевіряли на відповідність правилам проекту.

Логічний тип даних (також булів, булевий, булівський[1]) — простий тип даних в інформатиці, що може набувати двох можливих значень, які іноді називають істиною і хибою (також так і ні). Присутній у більшості мов програмування як самостійна сутність або реалізований через числовий тип. У другому випадку, зазвичай, за хибне приймають нульове значення, за істину — одиницю чи будь-яке інше відмінне від нуля число.

Реалізація

ред.

Логічний тип даних може бути реалізовано за допомогою лише одного біту, але зазвичай використовується мінімально адресовуваний елемент пам'яті (байт) або машинне слово, як більш ефективна одиниця роботи з регістрами та оперативною пам'яттю.

Доступні операції

ред.

До логічного типу даних застосовні такі операції:

  • І (логічне множення) (AND, &, *),
  • АБО (логічне додавання) (OR, |, +),
  • виключне АБО (множення з переносом) (xor, NEQV, ^),
  • еквівалентність (рівність) (EQV, =, ==)
  • інверсія (NOT, ~, !)
  • порівняння (>, <, <=, >=)

Також можуть використовуватися й інші операції алгебри логіки. Багато мов програмування (наприклад, C) дозволяють використовувати логічний тип і в арифметичних операціях, зводячи його до числового типу відповідно до прийнятих у мові правил зведення типів. Прикладом мови, в якій не виконується автоматичне зведення типів, є C#.

Застосування

ред.

Змінні логічних типів використовуються для зберігання результатів логічних операцій.

Всі операції порівняння двох величин, операції входження елемента в множину і перевірка на перетин множин повертають як результат значення логічного типу.

Використання в С++

ред.
 bool b1 = a == b;
 
 bool is_open (File*);
 bool greater (int a, int b) { return a > b; }

 bool b2 = 7;
 int i = true;
 
 bool a = true;
 bool b = true;
 bool x = a + b;
 bool y = a | b;

Примітки

ред.
  1. Слово boolean у словниках. Архів оригіналу за 3 грудня 2020. Процитовано 26 лютого 2020.

Див. також

ред.