Tudd Intuíció, előadás adattípusok nyelven

A karakter adattípus (char típus)

A C ++, nincs szabványos típusú adatot, amely tekinthető igazán szimbolikus. Képviseletére szimbolikus információ, kétféle adatot, amelyek alkalmasak erre a célra, - a fajta char és wchar_t.

Egy változó típusú char célja, hogy tárolja csak egy karaktert (például betűk vagy terek). A memória a számítógép karakterek vannak tárolva, egészek. A megegyezést a szimbólumok és kódok meghatározása kódolási táblázat. amely függ a számítógépet és az operációs rendszert. Szinte az összes asztal kódolás van a kis- és nagybetűk az ábécé, számok, 0 9, és néhány speciális karaktert. A leggyakoribb kódoló olyan tábla ASCII karaktereket (American Standard Code for Information Interchange - American Standard Code for Information Interchange).

Mivel a karakterek vannak tárolva a számítógép memóriájában egészek, a típus char valójában egy részhalmaza int típusú.

A kisebb méretű karakter kiosztott 1 byte.

Char típusú előírást is használható előjeles és előjel nélküli. Az aláírt char adattípus tárolására képes-értéke -128 és 127 Ha a típus unsigned char érték lehet a 0-tól 255-ig A használt kódolás ASCII kódot. Karakter kódok 0-31 tartoznak a szolgáltatás, és önálló jelentősége csak az input-output nyilatkozatokat.

Char típusú értékeket is tárolásához használt számának ezeket a tartományokat.

wchar_t típusú tervezték, hogy egy sor szimbólumok, kódoláshoz, amely 1 byte nem elég, például egy Unicode kódolás. típusú wchar_t mérete 2 bájt. Ha a program a használni kívánt wchar_t karakterlánc típusú állandók. kerülnek felvételre előtag L. például L „szót.”

A logikai (Boolean) adattípus (típus bool)

A C ++, a bináris logika (az igazság. Lie). Fekszik felel meg a nulla értéket. igazság - egység. Az értékek az ilyen típusú is figyelembe értékek igaz és hamis.

A belső forma ábrázolása hamis értékkel, 0, minden más érték értelmezhető igaz. Egyes összeállítói C ++ nem ilyen, akkor egy int ebben az esetben. amelynél a valódi értékek kimenetek 1, és ha hamis - 0. A hozzárendelt logikai adattípus 1 byte.

Egy felsorolt ​​típus (Type enum)

Ez a típus úgy definiáljuk, mint egy sor azonosítók, amelyek közösek nevű egész konstansokat, amely hozzá van rendelve egy egyedi és könnyen használható megnevezések. Így felsorolás a megrendelt készletek egészek. Van egy sajátos szintaktikai és egészen speciális felhasználási területet.

Változó. amelyek értéke lehet egy listából meghatározott állandók, az úgynevezett változó a felsorolás típusú vagy felsorolás. Ez a változó lehet az értéke csak a listából a konstansok. Nevezett listája állandók int típusú. Következésképpen a memóriát. a megfelelő változó felsorolja - a memóriát. Szükséges egy, az int értéket.

A beállított értékek a típus üresen. A void típus három célja van:

  1. arról, hogy ne térjen vissza a funkció értékek
  2. feltüntetése nem átvételét függvényparaméterek;
  3. létrehozása típustalan mutatók.

A void típus főleg, hogy meghatározzák a funkciókat. amelyek nem adnak vissza értéket, amely jelzi az üres argumentumlistában a funkciója, mint a bázis típusú pointerek öntési művelet során.

A főbb adatok

konverziótípusok

Értékelésével kifejezések, bizonyos műveleteket igényelnek operandusok, hogy a megfelelő típusú, különben fordítási időben, egy hibaüzenetet. Például, a művelet a vevő egy fennmaradó részlege (%) igényel integer operandusok. Ezért a C ++ lehetséges, hogy az értékek egyik típusról a másikra.

Típus átalakítás - az, hogy értéket egy változónak az egyik típusú értékre másik típusú.

Osztja az implicit és explicit típus konverziót. Ha egyértelműen meg kell határozni, hogy milyen típusú csökkentés változó. amely szükséges ahhoz, hogy az eredeti változó. Amikor implicit konverzió konverzió automatikusan történik, a szabályok szerint megállapított C ++ programozási nyelv.

A formátum az explicit típus átalakítási műveleteket:

Például, int (x), úsztatott (2/5), a hosszú (x + y / 0,5).

Az átalakítás típusát kell óvatosan alkalmazható, mivel ez a művelet vezethet adatvesztést. Például miután csökkentette a hosszú típus fordul elő rövidebb csonkolás információk értékű bit.

2. példa Az időintervallum

Meghatározta az elején és a végén egy ideig óra, perc, másodperc (egy napon belül). Keresse meg a hossza az intervallumban ugyanabban az egységben.

A bemeneti adatok erre a hat egész szám meghatározása az elején és végén az intervallum, az eredmények - három egész értékeket (int típus).

Jelöljük változókat tárolja a Start hour1 intervallumot. min1 és sec1. Tárolás végén intervallum - hour2. min2 és s2. és az így kapott értékeket - óra. min és sec.

A probléma megoldására van szükség konverzióra mindkét időpontban a második kivonva az első, a második, majd konvertálja az eredményt vissza az órát, percet és másodpercet. Következésképpen, a szükséges közbenső változó sum_sec. amely tárolja az értékét másodpercben. Meg lehet elég jelentős, mert a nap 86400 másodperc, amely túlmutat a típus rövid int. Következésképpen, hogy válassza ki a változó hosszú egész típusú (long int. Rövidített hosszú).

Konvertálásához az eredmény vissza másodperctől órákig és percen keresztül eldobjuk a törtrész elosztjuk egy egész szám által egy egész szám.

Amikor a matematikai műveleteket végezni implicit (automatikus) típusú konverziós kifejezések okoz operandus egy közös típusú vagy kiterjeszteni rövid nagyságrendűek méretének egész értékeket használt gépi utasításokat. Elvégzése az átalakítás függ az adott művelet jellege és a operandus vagy operandusok.

1. átalakítása integer típusú írtak alá.

  • Előjeles egész alakítjuk, egy rövidebb előjeles egész. elvesztése információ: a számos elvesztette minden bitek, amelyek a fenti (ill - alább) határán, meghatározó maximális mérete változó.
  • Előjeles egész alakítjuk egy nagy egész egy jel. By szorzás jele. Ez minden hozzáadott bit a bináris szám kerül által elfoglalt azonos számú volt a jel kicsit. ha a szám pozitív volt, akkor rendre 0, ha negatív, a 1.
  • Előjeles egész, hogy egy előjel nélküli egészszám. Az első lépés egy előjeles egész alakítjuk egy egész szám egy jel megfelel a kívánt típust, ha az adattípus nagyobb. A kapott értékeket az előjelbit nem dobni, de úgy egy peer a többi bit, azaz a most minden bit alkot egy számértéket.
  • Átalakítás előjeles egész úszó típus akkor veszteség nélkül információt. kivéve transzformáció-típus long int és unsigned long int float típusú. ha a pontosság gyakran elvesznek.

2. átalakítása integer típusú előjel nélküli.

  • Előjel nélküli egész alakítjuk, egy rövidebb egész szám előjel nélküli vagy aláírt csonkolást.
  • Előjel nélküli egész alakítjuk egy nagy egész előjel nélküli vagy aláírt hozzáadásával nullák a bal oldalon.
  • Előjel nélküli egész alakítjuk egész szám jele az azonos méretű. Ha vesszük például, unsigned short, és rövid - közötti szám 32768 és 65535 negatívvá válik.
  • Előjel nélküli egész alakítjuk egy úszó típusú. Először is, hogy alakul az értéke alá hosszú típus. amelyet ezután egy lebegőpontos típusú.

3. átalakítása lebegő típusok.

  • Típus értékeket alakítjuk kettős úszós megváltoztatása nélkül értékeket.
  • Értékeket alakítjuk a kettős float c néhány a pontosság csökkenését. azaz, hogy hány tizedesjegy. Ha az érték túl magas ahhoz, hogy lebegnek. az alsó elfolyó fordul elő, jelentése a futás során.
  • Amikor konvertáló egy lebegőpontos integer típusú azt először átalakítjuk a hosszú típus (a törtrész az úszó mennyiség így eldobjuk), majd a konvertált érték típusa a kívánt hosszú egész típusú. Ha az érték túl nagy a hosszú. konvertáló az eredmény határozatlan. Ez általában azt jelenti, hogy minden „szemét” megtalálható a saját belátása szerint a fordító. A gyakorlatban az ilyen átalakításokat általában nem találkoznak.

Kapcsolódó cikkek