Logiczny typ danych w informatyce

Rodzaje danych w informatyce są liczne. Są one podzielone na typy odniesienia i typy wartości. Typy wartości zwykle działają szybciej, ponieważ są przechowywane w stosie i zarządzane bezpośrednio. Są to zmienne numeryczne i logiczne typy danych. Referencje są przechowywane w linku stosu na stos, a stos jest już typu realizacji. Typy danych referencyjnych to zmienne łańcuchowe, dynamiczne lub globalne, klasy osadzone lub niestandardowe.

2 listopada 1815 roku urodził się w Anglii człowiek, który stał się sławnym matematykiem i logikiem, Georgem Bulem. Jej nazwa pochodzi od niego jednego z typów danych w programowaniu - Boolean, Boolean typu danych.
Typ danych boolean jest typem "pierwotnym". Jest szeroko rozpowszechniony: używany w języku programowania Algol 60 (lata sześćdziesiąte), Fortran, Pascal, C ++, jest dostępny we wszystkich nowoczesnych językach programowania. zmienna boolean jest niezwykłe, że ma tylko dwie wartości: true (prawda, 1) lub FALSE (fałsz, 0). Zwykle zaimplementowane za pomocą liczbowego typu danych, ponadto większość języków programowania pozwala na wykorzystanie go w operacjach arytmetycznych, uprzednio wprowadzonych do typu liczbowego, w oparciu o reguły wprowadzania typów dla określonego języka programowania.


, niski poziom

typ logiczny) Dane - znaczne typu. W pamięci RAM zmiennych typu bool są przechowywane na stosie, czyli obiegu i umieszczenie tej zmiennej jest bardzo szybki. Łatwo jest założyć, że do realizacji takiego prostego typu wystarczy 1 bit (0 lub 1), ale w rzeczywistości ze względu na cechy architektury procesorówBoolean typ danych pod zastrzeżonym minimalnej adresowalnych komórki pamięci - B, a raczej wskazują, że słowo maszynowy. Ułatwia to procesor i pamięć operacyjną. Na przykład: 00000000 - 00000001 lub fałszywe lub 00010001 100000 - prawda, ale podczas wykonywania logiczną zmienną wartość TRUE w przypisania kodu maszynowego 00000001. zawsze zarejestrowanej wartości

logiczną typ danych. Logika działania

W typowych języków programowania obsługuje wiele typów operacji logicznych, analizujemy, co następuje:
  • i logiczne (AND & amp; & amp; *).
  • LOGICZNY LUB (LUB | +).
  • WYKLUCZA LUB (XOR ^).
  • RÓWNOŚĆ (EQV ==).
  • NAPRAWDĘ (NIE! =).
  • operacji porównania (i GT,.

    . Przykłady typów danych logicznych logiczne i

    ,
    Operator & amp; Zwraca prawdę, jeśli oba argumenty są prawdziwe.




    przy użyciu systemu;

    nazw Boolean
    {
    Klasa MainClass
    {
    public static void main (String [] args)
    {
    Console.WriteLine (true & amp; & amp; false );
    Console.ReadLine ();
    }
    }
    }

    W tym przykładzie wykonania, drugi stan - kłamstwo, a konsola otrzymywać błędne.

    Logiczny OR

    Operator || zwraca prawdę, jeśli przynajmniej jeden z argumentów jest prawdziwy.

    za pomocą System; 

    nazw logiczna
    , {
    grupa MainClass
    {
    Public statyczne pustych Główny łańcuch ([] arg)
    , {
    Console.WriteLine (prawda || fałsz) ;
    Console.ReadLine ();
    }
    }
    }
    ,

    W tym przykładzie, jeden z warunków - prawda więc konsola otrzyma prawdziwe.

    tylko, lub

    ,

    ^ operatora (nie mylić z wysokości w stopniu) powraca prawdziwe, jeśli tylko jeden z argumentów nie jest prawdziwe.

    przy użyciu systemu; 

    nazw logiczna
    , {
    grupa MainClass
    , {
    Public void główne (string [] arg)
    , {
    Console.WriteLine (true ^ true);
    Console.ReadLine ();
    }
    }
    }

    W tym przykładzie oba argumenty są prawdziwe, więc w konsoli wyświetlana jest wartość false.


    & lt; script type = "text /javascript" & gt;
    zmienna blockSettings2 = {blockID "R-A-271049-5" renderTo "yandex_rtb_R-A-70350-39" asynchroniczny :! 0};
    jeśli (document.cookie.indexOf ("abmatch =") i GT = 0) blockSettings2.statId = 70350;
    ! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("scenariusz")d = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex .ru /System /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to this.document," yandexContextAsyncCallbacks „);

    Równość i nierówność

    Operator == zwraca prawdę, jeśli oba warunki są równe. Operator! = Zwraca prawdę, jeśli oba warunki nie są równe.

    za pomocą System; 

    nazw Boolean
    {
    Klasa MainClass
    {
    public static void main (String [] args)
    {
    Console.WriteLine (prawda! = False) ;
    Console.ReadLine ();
    }
    }
    }

    Konsola będzie prawdziwa, ponieważ warunek jest spełniony.

    Przykłady w języku C # zostały rozważone powyżej. W tym języku dla operacji typu logicznego zdefiniowane są dwie wartości - prawda i fałsz. I tutaj zabronione jest przekształcanie wartości logicznych na liczby całkowite, kompilator da błąd. Jak łatwo zauważyć, podczas wysyłania do metody WriteLine klasy Boolean klasy Console na konsoli wyświetlana jest jego wartość.

    Zmienna boolowska może być również sterowana przez instrukcję if. Jeśli wyrażenie stan spełnienie IF - prawda o zmiennej ekspresji może być zredukowana do

    , jeżeli (x) {/* coś zrobić * /} , 

    operacje porównania [103 ]

    Operatorzy> =

    W języku C, jeśli zmienna zawiera 0, jej wartość logiczna jest równoważna wartości BLOOD i na odwrót, dowolna liczba jest traktowana jako PRAWDA. Aby uzyskać lepsze zrozumienie, patrz poniżejfragment kodu:

    if (bool_variable) printf ("True! n"); inny printf („Fałsz! n”) , 

    C nie jest pojęcie logicznej typu danych liczbowych, zamiast stosować środków, głównie całkowitą. Dlatego logiczne operacje każdego typu argumentu liczbowego, że liczy, a nie zerowy jest interpretowany jako prawdę, a wynik operacji logicznych są liczbami całkowitymi, jeden i zerem. W C ++ wprowadzono logiczny typ danych, ale raczej dla wygody obsługi. Nie ma wpływu na użycie innych typów wyrażeń logicznych, jak w C.


    & lt; script type = "text /javascript" & gt;
    var blockSettings3 = {blockID "R-A-271049-6" renderTo "yandex_rtb_R-A-70350-44" asynchroniczny :! 0};
    if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings3.statId = 70350;
    ! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings3)}), e = b.getElementsByTagName ("scenariusz")

    d = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex .ru /System /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to this.document," yandexContextAsyncCallbacks „);
  • Kolejność wykonywania operatorów logicznych typów danych występuje od lewej do prawej. Na przykład, obliczenie wyrażenia

    var x & amp; może y & amp; var z , 

    zatrzymuje się, gdy tylko pierwszy operand będzie w leży wartość i obliczenia

     , zmienna x || może y || var z

    zostanie wykonane, dopóki kompilator nie osiągnie pierwszej prawdziwej wartości.

    Pascal

    W różnych językach programowania subtelności zmiennych operatorów Boole'a mogą się nieco różnić. Na przykład logiczny typ danych w Pascal ma interesującą funkcję: tutaj można porównać PRAWDĘ i BLOOD, a CZARNY jest mniejszy niż PRAWDA. Ponadto wartość BLOB odpowiada zeru, a wartość TRUE jest dowolnanumer inny niż zero.

    Dostęp

    Typ danych logicznych w programie Access działa podobnie.
  • LOGIC I AND.
  • LOGICZNE LUB CZY.
  • EQUITY Eqv.
  • NIEZALEŻNOŚĆ Nie.
  • EKSKLUZYWNE LUB XOR.
  • Działają tak samo, jak w innych popularnych językach programowania.

    Python

    W języku Python logiczny typ danych jest deklarowany jako standard - bool. Aby wprowadzić inne typy do typu Boolean, używana jest funkcja bool ():
  • Pusty ciąg znaków - BLOCK, niepusty - TRUE.
  • Zero - BLOOD, każda liczba inna niż zero - PRAWDA.
  • Pusta tablica - BLOOD, niepusty - PRAWDA.
  • Funkcja ma wartość PRAWDA.
  • Są to wszystkie rodzaje danych, które mogą być typu Boolean w Pythonie.

    Rubin

    W sensie BLOKU, istnieje zero, a prawda może być dowolnym przedmiotem. Zmienna o wartości 0 lub pusty ciąg jest również uważana za PRAWDZIWĄ, a to może powodować trudności dla osób początkujących w nauce tego języka. Transakcje z logicznymi typami danych mogą się nieznacznie różnić w zależności od języka. Dlatego zawsze należy zaznajomić się z subtelnościami używania typów danych w badanym języku, tak aby nie było trudności z dalszym zastosowaniem.

    Powiązane publikacje