Vrste podataka u računalnoj znanosti brojne su. Podijeljeni su na referentne vrste i tipove vrijednosti. Vrste vrijednosti obično rade brže jer se pohranjuju u stog i njima se upravlja izravno. To su numeričke varijable i logičke vrste podataka. U skladištu se referenca pohranjuje u vezi s hrpom, a na hrpi već postoji vrsta implementacije. Referentni tipovi podataka su string varijable, dinamičke ili globalne varijable, ugrađene ili prilagođene klase.
Tip podataka niske razine
Logički tip podataka. Logičke operacije
pomoću sustava;
imenski prostor Booleova
{
klasa MainClass
{
public static void Glavni (string [] args)
{
Console.WriteLine (true i amp; )
Console.ReadLine ();
}
}
}
U ovom primjeru, drugi uvjet je BLOCK, što znači da konzola prikazuje false.
Logički ILI
Operator || vraća istinu ako je barem jedan od argumenata istinit.
upotrebom sustava;
imenski prostor Booleova
{
klasa MainClass
{
public static void Glavni (string [] args
{
Console.WriteLine (true || false) ;
Console.ReadLine ();
}
}
}
U ovom primjeru jedan od uvjeta je TRUE, stoga je prikazana prava konzola.
Exclusive OR
Operator ^ (ne smije se miješati s erekcijom u nekom stupnju) vraća istinu ako je samo jedan od argumenata istinit.
pomoću sustava;
prostor imena Boolean
{
klasa MainClass
{
public static void Glavni (string [] args)
{
Console.WriteLine (true ^ true);
Console.ReadLine ();
}
}
}
U ovom primjeru oba su argumenta istinita, tako da se u konzoli prikazuje laž.
& lt; script type = "text /javascript" & gt;
može 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)} (ovaj, ovaj.dokument," yandexContextAsyncCallbacks ");
Jednakost i nejednakost
Operator == vraća istinu ako su oba uvjeta jednaka. Operator! = Vraća istinu ako oba uvjeta nisu jednaka.
pomoću sustava;
imenski prostor Booleova
{
klasa MainClass
{
public static void Glavni (string [] args)
{
Console.WriteLine (true! = False) ;
Console.ReadLine ();
}
}
}
Konzola će biti istinita jer je uvjet zadovoljen.
Primjeri u C # razmatrani su gore. U ovom jeziku za operacije logičkog tipa definirane su dvije vrijednosti - true i false. I ovdje je zabranjeno pretvoriti Boolean vrijednosti u integers, prevodilac će dati pogrešku. Kao što je lako primijetiti, kada šaljete metodu WriteLine klase konzole boolean varijabla na konzoli prikazuje se njezina vrijednost.
Također, boolean varijabla se može kontrolirati s if izrazom. Ako je uvjet za izvođenje izraza if ako je glagol varijable, tada se izraz može reducirati na:
if (x) {/* do smth * /}
Operacije usporedbe
Operatori & gt; =
U C, ako varijabla sadrži 0, njena logička vrijednost je ekvivalentna KRVI, i obrnuto, bilo koji broj se tretira kao TRUE. Za bolje razumijevanje pogledajte doljeisječak koda:
ako (bool_variable) printf ("True! n"); else printf ("False! n")
U C nema pojma logičkog tipa podataka, umjesto toga koriste se numerički tipovi, uglavnom cijeli brojevi. Stoga, u logičkim operacijama, bilo koji operand numeričkog tipa koji nije bitan nije jednak nuli, interpretira se kao TRUE, a rezultat logičkih operacija su cijeli brojevi, jedan odnosno nula. U C ++-u je uveden logički tip podataka, ali za praktičnost rada. To ne utječe na uporabu drugih tipova logičkih izraza kao u C.
& lt; script type = "text /javascript" & gt;
može blockSettings3 = {blockId: "R-A-271049-6", renderTo: "yandex_rtb_R-A-70350-44", async: 0};
ako (document.cookie.indexOf ("abmatch =") & gt; = 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)} (ovaj, ovaj.dokument," yandexContextAsyncCallbacks ");
Redoslijed izvršenja operatora logičkih tipova podataka događa se s lijeva na desno. Na primjer, izračun izraza
var x & amp; može & amp; & amp; var z
će se zaustaviti čim se prvi operand pojavi u vrijednosti DEFINICIJE, a račun
var x || može y || var z
će se izvršiti dok kompilator ne ispuni prvu pravu vrijednost.