Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> Systémy >> unix >> .

Aká je veľkosť každého typov údajov v platforme Bajtov DOS a UNIX?

Veľkosti typov údajov v DOS a UNIX (presnejšie, systémy kompatibilné s POSIX, ako sú Linux, MACOS, BSD atď.), Sa môžu mierne líšiť v závislosti od kompilátora a špecifickej architektúry systému (napr. 32-bit vs. 64-bit). Všeobecne však existujú normy a bežné veľkosti. Je nevyhnutné pamätať na to, že to nie je * zaručené a vždy by ste mali poradiť dokumentáciu svojho kompilátora pre definitívne veľkosti.

Veľkosti bežných dátových typov (približné):

| Typ údajov DOS (zvyčajne 16-bit) UNIX (zvyčajne 32-bitové alebo 64-bitové) Poznámky |

| --------------- | ---------------------------- | ------------------------------------- | --------------------------------------------------

| `Char` | 1 bajt | 1 bajt | Zvyčajne podpísané, ale môžu byť nepodpísané. |

| `Unsigned Char` | 1 bajt | 1 bajt | |

| `Short` | 2 bajty 2 bajty (zvyčajne) Často „Short Int“ |

| „Nepísané krátke“ | 2 bajty 2 bajty (zvyčajne) |

| `int` | 2 bajty 4 bajty (na 32-bit), 4 alebo 8 bajtov (na 64-bit) | Veľkosť závisí vo veľkej miere od architektúry. |

| `Nepísané int` | 2 bajty 4 bajty (na 32-bit), 4 alebo 8 bajtov (na 64-bit) | Veľkosť závisí vo veľkej miere od architektúry. |

| `Long '| 4 bajty 4 bajty (na 32-bit), 8 bajtov (na 64-bit) | Veľkosť závisí vo veľkej miere od architektúry. |

| „Nepísané dlhé“ | 4 bajty 4 bajty (na 32-bit), 8 bajtov (na 64-bit) | Veľkosť závisí vo veľkej miere od architektúry. |

| „Dlhá“ Nie je štandard 8 bajtov C99 a neskôr štandard. |

| „Nepísané dlhé dlhé“ | Nie je štandard 8 bajtov C99 a neskôr štandard. |

| `float` | 4 bajty 4 bajty Jednotná presnosť plávajúceho bodu. |

| `Double` | 4 bajty alebo 8 bajtov 8 bajtov Ploring-bod s dvojitou presnosťou. |

| `dlhá dvojitá` | 8 bajtov (často) 8 bajtov alebo 16 bajtov Predĺžená presnosť s pohyblivým bodom (veľkosť sa mení). |

| `ukazovateľ" | 2 bajty 4 bajty (32-bit), 8 bajtov (64-bit) | Veľkosť závisí od architektúry. |

Dôležité úvahy:

* DOS Variácie: Veľkosti „DOS“ sú zovšeobecnenia. Rôzne kompilátory DOS a dokonca aj rôzne pamäťové modely (napríklad malé, stredné, kompaktné, veľké, obrovské) by mohli ovplyvniť veľkosť typov údajov. DOS bol do značnej miery 16-bitový operačný systém, čo malo za následok menšie veľkosti.

* variácie unix/posix: Zatiaľ čo systémy podobné UNIX majú tendenciu byť konzistentnejšie, veľkosti `int` a` dlhé "sa môžu líšiť v závislosti od architektúry systému (32-bit vs. 64-bit). Štandardné mandáty * minimálne * veľkosti, nie presné veľkosti. Použitie `stdint.h` (c99 a neskôr) poskytuje celé typy s pevnou šírkou (` int32_t`, `int64_t` atď.) Pre lepšiu prenosnosť.

* Vplyv kompilátora: Kompilátor, ktorý používate (GCC, Clang, Visual C ++), môže mať jemné vplyvy na veľkosti typov dát. Vždy skontrolujte dokumentáciu svojho kompilátora alebo použite `sizeof ()` na určenie presnej veľkosti vo vašom konkrétnom systéme a kompilátore.

* `sizeof ()` operátor: Ak chcete získať presnú veľkosť typu dát v bajtoch na * vašom * systéme, použite operátor `sizeof ()` v C/C ++. Napríklad:`Sizeof (int)`, `veľkosť (dlhá dlhá)` atď. Toto je najspoľahlivejšia metóda.

Stručne povedané, zatiaľ čo tabuľka ponúka spoločné veľkosti, skutočné veľkosti sú závislé od kompilátora a platformy. Vždy overte používanie `sizeof ()` pre presné informácie špecifické pre platformu.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené