Булевський тип вікіпедія
З технічних причин _Bool перенаправляється сюди. Про _Bool можна прочитати тут: stdbool.h.
Логічний тип даних. або логічний тип, або булевий тип (від англ. Boolean або logical data type) - примітивний тип даних в інформатиці. приймає два можливих значення, іноді званих істиною (true) і брехнею (false). Присутній в переважній більшості мов програмування як самостійна сутність або реалізується через чисельний тип даних. У деяких мовах програмування за значення істина покладається 1, за значення брехня - 0.
Назва типу Boolean отримало на честь англійського математика і логіка Джорджа Буля. серед іншого, займався питаннями математичної логіки в середині 19 століття.
Реалізація [| ]
Доступні операції з цим типом даних [| ]
До цього типу даних застосовні наступні операції, в дужках вказані символічні позначення операцій в деяких популярних мовах програмування:
- І (логічне множення) (AND. . *),
- АБО (логічне додавання) (OR. |. +),
- виключає АБО (додавання з переносом) (xor. NEQV. ^),
- еквівалентність (рівність) (EQV. =. ==)
- інверсія (NOT.
Також можуть використовуватися і інші операції булевої алгебри. наприклад, стрілка Пірса або штрих Шеффера. Більшість мов програмування дозволяють використовувати логічний тип змінних і констант і в арифметичних операціях, попередньо приводячи його до чисельного типу, згідно з прийнятими в мові правилами перетворення типів.
Застосування [| ]
Традиційним застосуванням булева типу даних є значення «так» / «ні» щодо результату порівняння чисел в більш складних операціях.
Всі операції порівняння двох величин - речових та цілих змінних або константи зі змінною (так само, більше, менше), функції перевірки приналежності входження деякого елемента в безліч і перевірка на непустоту перетину множин повертають в якості результату логічний тип.
Реалізація в різних мовах програмування [| ]
Мова програмування Ada визначає Boolean в пакеті Standard як нумерований тип зі значеннями False і True в якому False Споріднені оператори (=. / =. <. <=.>.> =) Застосовуються до всіх нумерування типам, включаючи Boolean. Булеві оператори and. or. xor і not застосовні до типу Boolean і будь-яким оголошеним підтипів. Булеві оператори також застосовні до масивів, що містить значення Boolean. Algol 60 має тип даних boolean і відповідні оператори, встановлені в специфікації Algol 60. Тип даних був скорочений до bool в ALGOL 68. У мові програмування C. який не надавав булевих значень в C89 (але вводить в C99) замість значень true / false було встановлено порівняння значення з нулем. Для прикладу, код: Це було чесно для цілочисельного типу даних (integer); тим не менш, бінарні значення чисел з плаваючою комою (floating-point) були наближеними до інструкції на екрані десятковим значенням і це давало помилки при порівнянні. Традиційно, ціле містило одну (або більше) булеву змінну (одну на кожен розряд цілого). У мові Haskell логічний тип даних реалізований як найпростіший алгебраїчний тип даних: У стандартному модулі Data.Bool для нього визначені функції . || і not. У мові Python логічний тип даних позначається як bool. для приведення інших типів даних до булеву існує функція bool (). що працює за наступним угодам: Для інших об'єктів результат розраховується через метод __nonzero__. який в ідеалі повинен повертати значення True або False. Логічний тип наводиться до наступних типів даних: До інших типів даних логічний тип не наводиться. В Python 2.6 є цікава особливість - можна перевизначити значення True на False і навпаки, написавши всього лише: або, варіант для всієї області видимості що може призвести до вельми несподіваного поведінки інтерпретатора або IDLE. У python 3 дана можливість була ліквідована - True і False вважаються зарезервованими, як і слово None. Арифметичні операції над булевими неприпустимі, але допустимі логічні операції: Not, And, Or, Xor, операції відносини = (дорівнює), <> (Не дорівнює) і функції Ord, Pred, Succ. В Ruby логічний тип представлений двома зумовленими змінними. true і false. Постає логічне тип в результаті логічних операцій або виклику логічних методів. За традицією, ім'я логічних методів (тобто методів, які повертають значення true або false) закінчується на «?». Як false може виступати nil. а в якості true - будь-який об'єкт. в тому числі змінна зі значенням «0» або порожній рядок. що часто є несподіванкою для новачків.Algol [| ]
Haskell [| ]
Python [| ]
Pascal [| ]
Ruby [| ]
Див. Також [| ]