alapvető típusai

[Edit] Boole

bool - típusú, tárolására képes két érték egyikét: true (igaz) vagy false (hamis).

[Rule] Karakter típusok

aláírt char - Jel típusa képviselete karaktereket. unsigned char - előjel nélküli típust képviselő karaktereket. char - típus képviseletére karakter lehet a leghatékonyabban feldolgozni a célrendszer (egyenértékű aláírt char vagy unsigned char de mégis különbözik a típus.). wchar_t - típus széles karakter ábrázolása. char16_t - írja, hogy képviselje a karakterek UTF-16. (Kezdve a C ++ 11) char32_t - típusú karakterek ábrázolására UTF-32. (Kezdve a C ++ 11)







[Edit] A típusok Integer

int - alap egész típusú. Ez lehet hagyni, ha képviselő bármely módosítók. Ha nincs jelen, sem a módosító méretű garantált szélessége nem kevesebb, mint 16 bit. Mindazonáltal a 32/64-bit rendszerek szinte mindig van egy szélessége nem lehet kisebb, mint 32 bit (lásd. Alább).

[Rule] módosítók

Módosított egész típusú. Ők lehet elhelyezni bármilyen sorrendben. Csak egy módosítót az egyes csoport lehet a típus nevét.

aláírt - a cél típusa fogják aláírni képviselet (alapértelmezés szerint, ha nem is képviselt egyik lehetőség sem). előjel nélküli - cél típusa lesz aláíratlan képviseletét.

rövid - cél típusa lesz optimalizálva a mérete és szélessége nem kevesebb, mint 16 bit. hosszú - cél típusa lesz szélessége nem lehet kisebb, mint 32 bit. hosszú, hosszú - a cél típusa lesz, szélessége nem kevesebb, mint 64 bit. (Kezdve a C ++ 11)

[Edit] Properties

A következő táblázat összefoglalja az összes rendelkezésre álló egész típusok és tulajdonságaik:







Szintén minimális mérete bitben C ++ szabvány biztosítja, hogy

1 == sizeof # 40; faszén # 41; <= sizeof ( short ) <= sizeof ( int ) <= sizeof ( long ) <= sizeof ( long long ).

Megjegyzés: Az utolsó lehetséges eset, amikor bájtok 64 bites felbontással, minden fajta (beleértve a char) szélessége 64 bit, és visszatér sizeof 1 minden fajta.

Megjegyzés: integer aritmetikai definiáljuk eltérően aláírt és előjel nélküli egész típusú. Lásd. Aritmetikai operátorok. különösen, egy egész túlcsordulás.

[Rule] Data Model

Alaptípus méretek választások valamennyi végrehajtási együttesen az úgynevezett adatmodell. Széles körben elfogadott 4 adatmodell:

  • LP32 vagy 2/4/4 (int - 16 bit, a hosszú és a mutató - 32 bit)
  • Win16 API
  • ILP32 vagy 4/4/4 (int, hosszú és a mutató - 32 bit)
  • win32 API
  • Unix és Unix-szerű rendszerek (Linux, Mac OS X)
  • LLP64 vagy 4/4/8 (int és hosszú - 32 bit, az index - 64 bit)
  • Win64 API
  • LP64 vagy 4/8/8 (int - 32 bit, a hosszú és a mutató - 64 bit)
  • Unix és Unix-szerű rendszerek (Linux, Mac OS X)

Más modellek igen ritkák. Például ILP64 (8/8/8 int, hosszú és pointer -. 64 bit) csak megjelent néhány korai 64-bites Unix-rendszerek (pl Unicos a Cray számítógépek).

[Edit] típusok lebegőpontos

úszó - típusú egyszeres pontosságú lebegőpontos. Jellemzően a 32 bites lebegőpontos típus IEEE-754 formátumban pont dupla - típusú lebegőpontos kétszeres pontosságú. Általában 64-bites lebegőpontos típus IEEE-754 formátumban hosszú kettős - típusú nagy pontosságú lebegőpontos. Ez nem feltétlenül jelenik meg a fajta IEEE-754. Jellemzően, 80-bites típusú a lebegőpontos formátum x87 architektúrák x86 és x86-64.

[Rule] Hiányosságok értékek

Ez a tábla tartalmazza korlátok legtöbb rasprostrannonyh numerikus formátumban. Mivel a C ++ szabvány lehetővé teszi bármely képviseletét aláírt egész számok, a táblázat tartalmazza mind garantált minimális határt (amely megfelel a határ az inverz kód vagy direkt kód), és korlátozza a legelterjedtebb megvalósítása - kiegészítő kódot. Mindazonáltal az összes népszerű adatmodellek (beleértve az összes ILP32, LP32, LP64, LLP64) használt bemutatása a kiegészítő kódot.




Kapcsolódó cikkek