Úvodní stránka | Tato stránka v originále

Celé číslo (informatika)

Tento článek by měl být sloučen s počítač počítat formáty.

Ve vědě o počítačích, termín celé číslo je používáno se odkazovat na nějaký datový typ který může reprezentovat nějakou podmnožinu matematický celá čísla. Tito jsou také známí jako základní datové typy.

Tabulka s obsahem
1 hodnota a reprezentace
2 obyčejné základní datové typy
3 ukazatele
4 bajty a oktety
5 slov

Hodnota a reprezentace

hodnota data se základním typem je matematické celé číslo že to odpovídá. reprezentace tohoto data je cesta hodnota je uložena v paměti počítače. Základní typy mohou být nepodepsané (schopný reprezentovat jediná nonnegative celá čísla) nebo podepsal (schopný reprezentovat záporná celá čísla také).

Nejvíce obyčejná reprezentace pozitivního celého čísla je řetěz kousků, používat binární číslicový systém. Pořadí kousků se mění; vidět Endianness. šířka nebo preciznost základního typu je množství kousků v jeho reprezentaci. Nepodepsaný základní typ s n kousky mohou představovat čísla od 0 k.

Tam jsou tři různé způsoby, jak reprezentovat záporná čísla v binárním číslicovém systému. Nejvíce obyčejný je dva je doplněk, který připustí podepsal základní typ s n kousky představovat čísla od k. Twos doplňková aritmetika je příhodná protože tam je zdokonalit osobní korespondenci mezi reprezentacemi a hodnotami, a protože sčítání a odčítání nepotřebují rozlišovat mezi podepsal a nepodepsané typy. Jiné možnosti jsou znamení-velikost a něčí doplněk.

Jiný, spíše jiná reprezentace pro celá čísla je binární-kódovaná desetina, který byl jednou běžně používaný (pozoruhodně ve finančních aplikacích) ale je nyní vzácný.

Obyčejné základní datové typy

kouskyjménorozsahpoužití
8bajt, oktetPodepsal: - 128 k + 127
Nepodepsaný: 0 k + 255
ASCII charaktery, C připálit (minimum), jávský bajt
16slovoPodepsal:- 32,768 k + 32,767
Nepodepsaný: 0 k + 65,535
UCS-2 charaktery, C krátké int (minimální), C int (minimum), jávský znak, jávské krátké int
32slovo, doubleword, longwordPodepsal:- 2,147,483,648 k + 2,147,483,647
Nepodepsaný: 0 k + 4,294,967,295
UCS-4 charaktery, C int (obvyklý), C dlouho int (minimum), jávské int
64longword, quadwordPodepsal:- 9,223,372,036,854,775,808 k + 9,223,372,036,854,775,807
Nepodepsaný: 0 k + 18,446,744,073,709,551,615
C dlouhé int (na 64 bitových strojích), C99 dlouho dlouho int (minimum), Java dlouho int

Různé procesory podporují různé základní datové typy. Typicky, hardware bude podporovat oba podepsal a nepodepsané typy ale jediný malý, fixovaný soubor šířek.

Stůl nahoře vypíše základní typové šířky, které jsou podporovány v hardwaru obyčejnými procesory. Vysoce úrovňové programovací jazyky poskytují více možností. To je obyčejné mít “dvojitou šířku” základní typ to má dvakrát tolik kousků jako největší hardware-podporoval typ. Mnoho jazyky také mají kousek-pole píše (specifikované množství kousků, obvykle vynutil být méně než maximální hardware-podporoval šířku) a rozsah píše (moci reprezentovat jediný celá čísla ve specifikovaném dosahu).

Některé jazyky, takový jako Lisp, podporovat libovolná preciznostní celá čísla (také známý jako “nekonečná preciznost” nebo “bignums”). Tito používají jak hodně z počítače má paměť jak je nutný; nicméně, počítač jen má konečné množství ukládání, tak oni příliš mohou jen reprezentovat konečnou podmnožinu matematických celých čísel.

Booleovský typ je zvláštní rozsahový typ, který může představovat jen dvě ceny: 0 a 1, identifikoval se s falešný a pravdivý příslušně. Tento typ může být uložen v paměti používat jediný kousek, ale je často daný plný bajt pro výhodu.

Čtyři-kvantita kousku je znána jak nybble nebo kousat; toto je vtip na slově “bajt”. Jeden nybble odpovídá jedné číslici v hexadecimální a binární-kódovaná desetina.

Ukazatele

ukazatel je často, ale ne vždy, reprezentovaný celým číslem udala šířka. Toto je často, ale ne vždy, nejširší celé číslo že hardware podpírá přímo. Hodnota tohoto celého čísla je adresa paměti kterákoliv ukazatel směřuje k.

Bajty a oktety

Termín bajt zpočátku znamenal “nejméně adresovatelnou jednotku paměti”. V minulosti, 5 -, 6 -, 7 -, 8 -, a 9-bajty kousku byli všichni použití. Tam také byli počítače, které mohly oslovit individuální kousky (“kousek-oslovil stroj”), nebo to mohlo jen adresovat 16 - nebo 32 bitové kvantity (“slovo-oslovil stroj”); termín “bajt” nebyl použitý vůbec ve spojení s těmito stroji.

Termín oktet vždy odkazuje se na 8-kousl kvantitu. To je většinou používáno na poli síťování počítače, kde počítače s různými bajtovýma šířkami by mohly muset komunikovat.

V moderním použití “bajt” trvale znamená osm kousků od té doby, co všechny jiné velikosti vyšly z užívání; “oktet” tak přišel být souznačný s “bajtem”.

Bajty jsou používány jako jednotka paměti počítače všech druhů. Jeden mluví o 50 bajtového textového řetězce, 100 kB (kilobajtový) soubor, 128 MB (megabajt) Beraní modul, 30 GB (gigabajt) pevný disk. Předpony užité na měření bajtu jsou podobné předponám Sie užitým na jiná měření, ale oni nemají stejné smysly (vidět binární předponu pro další diskuzi).

PředponaJménoObvyklý (Si) mínitMínit když platil o bajtech
k, Kkilo103   = 1000210 = 1024
Mhrozně106   = 10002220 = 10242
Ggiga109   = 10003230 = 10243
Ttera1012 = 10004240 = 10244
Ppeta1015 = 10005250 = 10245

Bezohledný tvrdí diskoví výrobcové popisují jejich produkty, jak využije moc-- 1000 významy, který je předmět aktuální nepravdivé reklamy soud.

Slova

Termín slovo zpočátku znamenalo “velikost adresy v paměti systému”, a byl tak CPUčko - a OS- přesný. Jeden mohl říkat, že IBM 370 měl 32 bitová slova, a 8086 měl 16-ti bitová slova. Mnoho různých slovních velikostí bylo použité, včetně 6 -, 8 -, 12 -, 16 -, 18 -, 24 -, 32 -, 36 -, 60 - a 64-bit. Významy požadavků odvozených z “slova”, takový jako “longword”, “doubleword” a “halfword”, také se měnit s procesorem a OS.

Nyní 32 bitové slovní velikosti jsou nejvíce běžné mezi univerzálními počítači, s 16-ti bitovým dozníváním a 64-bit použitý většinou pro velké instalace. Vložené procesory s 8 - a 16-ti bitová slovní velikost být ještě obyčejný. Formulovat velikosti, které nejsou rozmanitý 8 zmizeli spolu se non-8-bajty kousku.