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

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Булевий тип даних)
Перейти до навігації Перейти до пошуку

Логічний тип даних (також булів, булевий, булівський[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.

Див. також

[ред. | ред. код]