Boolean-tietotyyppi tai Boolean-tyyppi tai Boolean-tyyppi ( englanniksi. Boolean tai logical data type ) on tietojenkäsittelytieteen primitiivinen tietotyyppi , joka ottaa kaksi mahdollista arvoa, joita kutsutaan joskus tosi ( tosi) ja false ( false) . Se on läsnä suurimmassa osassa ohjelmointikieliä itsenäisenä kokonaisuutena tai toteutetaan numeerisen tietotyypin kautta. Jotkut ohjelmointikielet käyttävät arvoa 1 tosi ja 0 epätosi .
Tyyppinimi Boolean annettiin englantilaisen matemaatikon ja loogikon George Boolen kunniaksi , joka muun muassa käsitteli matemaattista logiikkaa 1800- luvun puolivälissä .
Boolen tietotyyppi voidaan toteuttaa ja tallentaa muistiin käyttämällä vain yhtä bittiä , mutta pienintä osoitettavissa olevaa muistipaikkaa (yleensä tavua tai konesanaa ) käytetään yleensä suoritustehokkaampana tallennusyksikkönä käsiteltäessä prosessorirekistereitä ja RAM -muistia .
Seuraavat toiminnot ovat sovellettavissa tälle tietotyypille, joidenkin suosituiden ohjelmointikielten toimintojen symboliset nimitykset on merkitty suluissa:
Myös muita Boolen algebran operaatioita voidaan käyttää , kuten Piercen nuolta tai Schaefferin vetoa . Useimmat ohjelmointikielet antavat sinun käyttää Boolen tyyppisiä muuttujia ja vakioita aritmeettisissa operaatioissa, ensin heittämällä se numeeriseen tyyppiin kielessä hyväksyttyjen tyyppimuunnossääntöjen mukaisesti.
Boolen tietotyypin perinteinen käyttö on kyllä/ei-arvot lukujen vertailun tuloksena monimutkaisemmissa operaatioissa.
Kaikki toiminnot, joissa verrataan kahta suuretta - reaali- ja kokonaislukumuuttujia tai vakiota muuttujan kanssa (saa, suurempi, pienempi), funktiot, joilla tarkistetaan elementin esiintymän kuuluvuus joukkoon ja tarkistetaan, ettei joukon leikkauspiste ole tyhjä. setit palauttavat tuloksena Boolen tyypin.
Ada-ohjelmointikieli määrittelee BooleanStandard-paketissa lueteltuna tyyppinä arvot Falseja Truejossa False< True.
tyyppi Boolen on ( False , True ); p : Boolen := Tosi ; if p then ... end if ;Aiheeseen liittyvät operaattorit ( =, /=, <, <=, >, >=) koskevat kaikkia lueteltuja tyyppejä, mukaan lukien Boolean. Boolen operaattorit and, orja koskevat tyyppiä xorja kaikkia ilmoitettuja alatyyppejä. Boolen operaattorit koskevat myös taulukoita, jotka sisältävät . notBooleanBoolean
Algol 60 : llä on Algol 60 -spesifikaatiossa määritelty tietotyyppi booleanja vastaavat operaattorit.Tietotyyppi on lyhennetty muotoon boolALGOL 68 .
C - ohjelmointikielessä , joka ei tarjonnut loogisia arvoja C89 :ssä (mutta ottaa käyttöön C99 :ssä ), tosi/epätosi arvojen sijaan otettiin käyttöön arvojen vertailu nollan kanssa. Esimerkiksi koodi:
if ( bool_muuttuja ) printf ( "Tosi! \n " ); else printf ( "Epätosi! \n " );vastaa koodia:
if ( bool_muuttuja != 0 ) printf ( "Tosi! \n " ); else printf ( "Epätosi! \n " );Tämä oli totta kokonaislukutietotyypille (integer); liukulukujen binääriarvot (liukupiste) olivat kuitenkin lähellä näytöllä näkyviä desimaaliarvoja, ja tämä antoi virheitä vertailussa. Perinteisesti kokonaisluku sisälsi yhden (tai useamman) Boolen muuttujan (yksi kutakin kokonaisluvun bittiä kohden ).
Haskellissa boolen tietotyyppi on toteutettu yksinkertaisimpana algebrallisena tietotyyppinä :
data bool = false | TottaVakiomoduulissa Data.Boolfunktiot &&ja ||määritellään sille not.
Pythonissa loogista tietotyyppiä kutsutaan nimellä , jotta muut tietotyypit muunnetaan booleaniksi bool, on funktio bool(), joka toimii seuraavien sopimusten mukaisesti:
Muille objekteille tulos lasketaan menetelmällä __nonzero__, jonka pitäisi mieluiten palauttaa Truetai arvot False.
Boolen tyyppi välitetään seuraaville tietotyypeille:
Boolen tyyppiä ei välitetä muille tietotyypeille.
Python 2.6:ssa on mielenkiintoinen ominaisuus - voit määrittää arvon Trueuudelleen Falseja päinvastoin kirjoittamalla vain:
tosi = epätositai vaihtoehto koko alueelle
__rakennukset__ . tosi = epätosimikä voi johtaa tulkin tai IDLE:n hyvin odottamattomaan käyttäytymiseen. Python 3:ssa tämä ominaisuus on poistettu - Trueja Falsesitä pidetään varattuna, kuten sanaa None.
Muuttujien kuvaus:
var a , b : BoolenTotuusarvojen aritmeettiset operaatiot eivät ole sallittuja, mutta loogiset operaatiot ovat sallittuja: Ei, And, Tai, Xor, relaatiooperaatiot = (yhtä kuin), <> (ei yhtä suuri kuin) ja funktiot Ord, Pred, Succ.
var A , B : tavu ; C , D , E , F : Boolen ; begin A := Järjestys ( False ) ; {A=0} B := Järjestys ( tosi ) ; {B=1} C := Pred ( Epätosi ) ; {error} D := Pred ( True ) ; {D=Epätosi} E := Succ ( False ) ; {E=Tosi} F := Succ ( tosi ) ; {error} loppu .Rubyssa loogista tyyppiä edustaa kaksi ennalta määritettyä muuttujaa : trueja false. Boolen tyyppi ilmestyy loogisten operaatioiden tai loogisten menetelmien kutsumisen seurauksena . Perinteisesti loogisten menetelmien (eli menetelmien, jotka palauttavat arvon tosi tai epätosi) nimi päättyy "?".
Se falsevoi olla nil, ja laatu voi olla true mikä tahansa objekti , mukaan lukien muuttuja , jonka arvo on "0", tai tyhjä merkkijono , mikä on usein yllätys aloittelijoille.
Tietotyypit | |
---|---|
Käsittämätön | |
Numeerinen | |
Teksti | |
Viite | |
Komposiitti | |
abstrakti | |
muu | |
liittyvät aiheet |