Logična vrsta podatkov v računalništvu

Vrste podatkov v računalništvu so številne. Razdeljeni so na referenčne vrste in vrste vrednot. Vrste vrednosti običajno delujejo hitreje, ker so shranjene v skladu in se neposredno upravljajo. To so numerične spremenljivke in logične vrste podatkov. Referenca v skladu vsebuje povezavo do kupa, v kupu pa je že izvedba tipa. Referenčni podatkovni tipi so nizske spremenljivke, dinamične ali globalne spremenljivke, vdelani ali prilagojeni razredi.

2. novembra 1815 je bil rojen v Angliji, ki je postal znan matematik in logik George Bul. Imenuje se po eni od vrst podatkov v programiranju - Boolean, logični tip podatkov.
Podatkovni tip boolean je "primitivni" tip. Razširjena je po vsem: uporabljena v programskem jeziku Algol 60 (1960), Fortran, Pascal, C ++, je na voljo v vseh sodobnih programskih jezikih. Boolean spremenljivka je izjemna, ker ima samo dve vrednosti: TRUE (true, 1) ali FALSE (false, 0). Običajno se izvaja z numeričnimi tipi podatkov, večina programskih jezikov pa dovoljuje, da se uporablja v aritmetičnih operacijah, ki so bile predhodno pripeljane do numeričnega tipa, na podlagi pravil za vnašanje tipov za določen programski jezik.


Tip podatkov nizke ravni

Boolean je pomemben tip. V RAM-u so spremenljivke tipa Bool shranjene v skladu, kar pomeni, da je promet in postavitev take spremenljivke zelo hitra. Preprosto je domnevati, da je za realizacijo tako preprostega tipa dovolj 1 bit (0 ali 1), v resnici pa zaradi značilnosti arhitekture procesorjev.pod logično vrsto podatkov je rezervirana minimalna naslovna pomnilniška celica - bajt, in če je natančneje označena, potem strojna beseda. To olajša procesor in delovanje pomnilnika. Na primer: 00000000 - false 00000001 ali 00010001 ali 100000 - true Toda če je boolova vrednost nastavljena na true, je vrednost v strojni kodi vedno vrednost 00000001.

Logični tip podatkov. Logične operacije

V skupnih programskih jezikih boolejski tip podpira več operacij, upoštevali pa bomo naslednje:
  • LOGICAL AND (& & amp; & amp; *).
  • LOGIČNI ALI (ALI | +).
  • IZKLJUČUJE ALI (XOR ^).
  • ENAKOST (EQV ==).
  • V resnici (NE! =).
  • OPERACIJE PRIMERJANJA (> 17) Boolean tipi podatkov Primeri Logical &
    Upravljavec & amp; Vrne resnico, če sta oba argumenta resnična.




    z uporabo sistema;

    imenski prostor Boolean
    {
    razred MainClass
    {
    javni statični void Glavni (string [] args)
    {
    Console.WriteLine (true & amp; );
    Console.ReadLine ();
    }
    }
    }

    V tem primeru je drugi pogoj BLOCK, kar pomeni, da je ukazna miza prikazala false.

    Logični OR

    Operator || vrne resnico, če je vsaj eden od argumentov resničen.

    z uporabo sistema; 

    imenski prostor Boolean
    {
    razred MainClass
    {
    javni statični void Glavni (string [] args
    {
    Console.WriteLine (true || false) ;
    Console.ReadLine ();
    }
    }
    }

    V tem primeru je eden od pogojev TRUE, zato je prikazana prava konzola.

    Exclusive OR

    Operator ^ (ne sme se zamenjati z erekcijo v določeni meri) vrne resnico, če je resničen le en argument.

    z uporabo sistema; 

    imenski prostor Boolean
    {
    razred Glavni razred
    {
    javni statični void Glavni (niz [] args)
    {
    Console.WriteLine (res ^ res);
    Console.ReadLine ();
    }
    }
    }

    V tem primeru sta oba argumenta resnična, tako da je v ukazni mizi prikazana false.


    & lt; script type = "text /javascript" & gt;
    lahko blockSettings2 = {blockId: "R-A-271049-5", renderTo: "yandex_rtb_R-A-70350-39", async:! 0};
    if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings2.statId = 70350;
    Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("script") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ta, ta.dokument," yandexContextAsyncCallbacks ");

    Enakost in neenakost

    Operator == vrne resnico, če sta oba pogoja enaka. Operator! = Vrne resnico, če oba pogoja nista enaka.

    z uporabo sistema; 

    imenski prostor Boolean
    {
    class MainClass
    {
    public static void Glavni (string [] args)
    {
    Console.WriteLine (true! = False) ;
    Console.ReadLine ();
    }
    }
    }

    Konzola bo resnična, ker je pogoj izpolnjen.

    Primeri v C # so bili obravnavani zgoraj. V tem jeziku za operacije logičnega tipa sta definirani dve vrednosti - true in false. In tukaj je prepovedano pretvoriti Boolean vrednosti v cela števila, prevajalnik bo dal napako. Kot je enostavno opaziti, se pri pošiljanju metode WriteLine razred Console boolean spremenljivki na konzoli prikaže njena vrednost.

    Prav tako se boolean spremenljivka lahko nadzoruje s stavkom if. Če je pogoj za izvršitev izraza z if glagol spremenljivke, se izraz lahko zmanjša na:

    če (x) {/* do smth * /}

    Primerjalne operacije

    ]

    Operaterji & gt; =

    V C, če spremenljivka vsebuje 0, je njena logična vrednost enakovredna KRVI in obratno, katera koli številka se obravnava kot TRUE. Za boljše razumevanje glejte spodajodrezek kode:

    če (bool_variable) printf ("True! n"); else printf ("False! n")

    V C ni pojma logičnega tipa podatkov, ampak se uporabljajo številčni tipi, večinoma celo število. Zato v logičnih operacijah vsak operand številčne vrste, ki ni pomemben, ni enak nič, je interpretiran kot TRUE, rezultat logičnih operacij pa je celo število, eno in nič. V C ++ je bila uvedena logična vrsta podatkov, ampak za udobje delovanja. To ne vpliva na uporabo drugih vrst logičnih izrazov kot v C.


    & lt; script type = "text /javascript" & gt;
    lahko blockSettings3 = {blockId: "R-A-271049-6", renderTo: "yandex_rtb_R-A-70350-44", async:! 0};
    če (document.cookie.indexOf ("abmatch ="))> 0) blockSettings3.statId = 70350;
    Funkcija (a, b, c, d, e) {a [c] = a [c] || [], a [c] .push (funkcija () {Ya.Context.AdvManager.render (blockSettings3)}), e = b.getElementsByTagName ("script") , d = b.createElement ("script"), d.type = "text /javascript", d.src = "//an.yandex .ru /system /context.js ", d.async =! 0e.parentNode.insertBefore (d, e)} (ta, ta.dokument," yandexContextAsyncCallbacks ");

    Vrstni red izvajanja operaterjev logičnih vrst podatkov se pojavi od leve proti desni. Na primer, izračun izraza

    var x & amp; lahko y & amp; & amp; var z

    se ustavi takoj, ko se v vrednosti DEFINICIJE prikaže prvi operand, in račun

    var x || lahko y || var z

    se izvede, dokler prevajalnik ne doseže prve prave vrednosti.

    Pascal

    V različnih programskih jezikih se lahko razlike v spremenljivkah logičnih operatorjev rahlo razlikujejo. Logična vrsta podatkov v Pascalu, na primer, ima zanimivo funkcijo: tukaj lahko primerjamo TRUTH in BLOOD, BLACK pa manj kot TRUE. Tudi vrednost BLOB ustreza ničli, vrednost TRUE pa je vsakanič, razen nič.

    Dostop

    Logični tip podatkov v Accessu deluje podobno.
  • LOGIKA IN IN.
  • LOGIČNI ALI OR.
  • KAPITAL Eqv.
  • NEODVISNOST Ne.
  • IZKLJUČNO ALI XOR.
  • Delujejo enako kot v drugih priljubljenih programskih jezikih.

    Python

    V Pythonu je logični tip podatkov deklariran kot standard - bool. Za vnašanje drugih vrst v Boolean tip, se uporablja funkcija bool ():
  • Prazen niz - BLOCK, ni prazen - TRUE.
  • Nič - KRV, katera koli številka, razen nič - TRUE.
  • Prazno polje - KRV, neprazno - TRUE.
  • Funkcija je TRUE.
  • To so vse vrste podatkov, ki so lahko v boji tipa Python.

    Ruby

    V smislu BLOK-a je nič in resnica je lahko kateri koli predmet. Spremenljivka z vrednostjo 0 ali praznim nizom se prav tako šteje za TRUE in to lahko povzroči težave ljudem, ki so začetniki, da se naučijo tega jezika. Transakcije z logičnimi tipi podatkov se lahko nekoliko razlikujejo glede na jezik. Zato se je vedno treba seznaniti s prefinjenostjo uporabe podatkovnih tipov v preučevanem jeziku, tako da ni težav pri nadaljnji uporabi.

    Sorodne publikacije