Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Počet bitov použitých na reprezentáciu typu údajov závisí od architektúry sada inštrukcií (ISA)-predovšetkým X86-64 v moderných procesoroch Intel-a zo špecifického kompilátora a programovacieho jazyka. Neexistuje žiadna jediná definitívna odpoveď, pretože sa môže mierne líšiť v závislosti od optimalizácie kompilátora a podrobností operačného systému.
Tu je všeobecný prehľad spoločných typov údajov a ich typických veľkostí v Architektúrach x86-64 (ako napríklad tie, ktoré používajú väčšina procesorov spoločnosti Intel):
* celé čísla:
* `Char`:zvyčajne 8 bitov (podpísané alebo nepodpísané)
* `Short`:zvyčajne 16 bitov (podpísané alebo nepodpísané)
* `int`:zvyčajne 32 bitov (podpísané alebo nepodpísané)
* `Long`:zvyčajne 64 bitov (podpísané alebo nepodpísané)
* `dlhý dlhý`:zvyčajne 64 bitov (podpísané alebo nepodpísané)
* čísla s pohyblivou rádovou čiarkou:
* `float`:zvyčajne 32 bitov (jednorazová prednosť)
* `Double`:zvyčajne 64 bitov (dvojitá presnosť)
* `dlhá dvojitá`:zvyčajne 80 bitov (rozšírená presnosť, hoci podrobnosti o implementácii sa môžu líšiť; niekedy emulované ako 64 bitov)
* ukazovatele:
* Ukazovatele sú adresy pamäte. Na 64-bitovej architektúre, ako je X86-64, sú zvyčajne dlhé 64 bitov.
* Booleans:
* Veľkosť booleovského typu je závislá od kompilátora, ale často zaberá 1 bajt (8 bitov) pre účinnosť, aj keď je logicky potrebný iba 1 bit.
Dôležité úvahy:
* Vplyv kompilátora: Kompilátor hrá rozhodujúcu úlohu pri určovaní veľkosti a reprezentácie typov údajov. Rôzne kompilátory (ako GCC, Clang, MSVC) môžu mať mierne odlišné predvolené hodnoty alebo optimalizácie, aj keď štandardy (napríklad štandardy C ++ a C) obmedzujú možnosti.
* operačný systém: Operačný systém tiež hrá malú úlohu, pretože môže ovplyvniť veci, ako je vyrovnanie pamäte.
* Simd pokyny: Intel Processors podporuje pokyny SIMD (jednotlivá inštrukcia, viac údajov), ktoré fungujú na vektoroch údajov. Môžu pracovať na viacerých dátových prvkoch súčasne a výrazne urýchliť spracovanie polí a podobných dátových štruktúr. Veľkosti týchto typov vektorov sú definované pomocou konkrétnych použitých pokynov SIMD (napr. SSE, AVX, AVX-512). Toto nie sú priamo užívateľsky informačné typy údajov rovnakým spôsobom ako `int` alebo` float`.
Stručne povedané:zatiaľ čo procesor Intel zásadne spracováva bity, reprezentácia typov údajov v bitoch je diktovaná kombináciou architektúry (x86-64), programovacieho jazyka, kompilátora a niekedy aj operačného systému. Vyššie uvedená tabuľka poskytuje všeobecné usmernenie, ale presnejšie podrobnosti nájdete v dokumentácii vášho konkrétneho kompilátora.