Znázornění čísel v počítači. Reprezentace celých čísel a reálných čísel v paměti počítače
Každý, kdo někdy přemýšlel o životě, aby se stal "IT osobou" nebo správcem systému, a jednoduše propojit osud s počítačový hardware,
znalost reprezentace čísel v paměť počítače, zcela nezbytné. Koneckonců, toto je základna pro nízkoúrovňové programovací jazyky, jako je Assembler. Proto dnes budeme zvažovat reprezentaci čísel v počítači a jejich umístění do paměťových buněk.Systém čísel
Pokud čtete tento článek, nejspíš o tom už víte, ale stojí za to opakovat. Všechna data v osobním počítači jsou uložena v binárním formátu systém čísel. To znamená, že libovolné číslo musí být prezentováno v odpovídající formě, tzn.
Abychom mohli přeložit obvyklá desítková čísla pro nás do srozumitelného počítače, musíme použít níže popsaný algoritmus. K dispozici jsou také specializované kalkulačky.
Tak, aby se dal číslo v dvojkové soustavě, je třeba vzít naši zvolenou hodnotu a rozdělit ji 2. Po tom, dostaneme výsledek a zbytek (0 nebo 1). Výsledek opět rozdělte 2 a nezapomeňte na zbytek. Tento postup by se měl opakovat, dokud nebude výsledek také 0 nebo 1. Potom zadejte konečnou hodnotu a zbytky v opačném pořadí, jak jsme je obdrželi.
Takto jsou čísla v počítači zobrazena. Každé číslo je zapsáno v binární podobě a zabírá místo paměti.
Paměť
Jak už víte, minimální jednotka informací je 1 bit. Jak jsme již viděli, reprezentace čísel v počítači probíhá v binárním formátu. Každý bit paměti tedy bude obsazen jednou hodnotou - 1 nebo 0.
Pro ukládání velkých čísel buňky. Každá taková jednotka obsahuje až 8 bitů informací. Proto můžeme usuzovat, že minimální hodnota v každém segmentu paměti může být 1 bajt nebo osmimístné binární číslo.
Celé
Nakonec jsme se dostali do přímého umístění dat v počítači. Jak již bylo řečeno, nejprve procesor překládá informace do binárního formátu a teprve pak je umístí do paměti.
Začneme nejjednodušší verzí, která je reprezentací celých čísel v počítači. Paměť PC přiděluje tento proces směšně malému počtu buněk - pouze jednomu. Takže maximum v jednom slotu může být od 0 do 11111111. Převeďme maximální číslo do obvyklé podoby záznamu.
X = 1 × 27. + 1 × 26. + 1 × 25 + 1 × 24 + 1 × 23 + 1 × 22 + 1 × 21 + 1 × 20 = 1 × 28. - 1 = 255.
Nyní vidíme, že v jedné paměťové buňce může být hodnota v rozmezí od 0 do 255. To se však týká pouze ne záporných celých čísel. Pokud má počítač zapisovat zápornou hodnotu, všechno půjde trochu jinak.
Negativní čísla
Nyní se podíváme, jak jsou čísla v počítači zobrazena, pokud jsou negativní. Chcete-li umístit hodnotu, která je menší než nula, jsou přiděleny dva paměťové buňky nebo 16 bitů informací. V tomto případě se číslo 15 pohybuje pod samotným číslem a první (extrémní levý) bit je uveden pod příslušným znaménkem.
Je-li číslice záporná, je zapsána hodnota "1", pokud je kladná, pak "0". Kvůli jednoduchosti vzpomínek můžeme vyvodit analogii: pokud existuje znaménko, pak nastavte 1, pokud tomu tak není, pak nic (0).
Zbývajících 15 bitů informací je přiděleno číslu. Podobně jako v předchozím případě mohou dát maximálně patnáct jednotek. Je třeba poznamenat, že zaznamenávání negativních a pozitivních čísel se výrazně liší od sebe.
Chcete-li umístit hodnotu do 2 paměťových buněk větší než nula nebo stejná, použije se takzvaný přímý kód. Tato operace se provádí stejným způsobem, jak bylo popsáno, a maximální A = 32766, pokud používáme desítkové číslo systému. Stačí si uvědomit, že v tomto případě znamená "0" pozitivní.
Příklady
Reprezentace celých čísel v paměti počítače není tak náročný úkol. I když je to poněkud komplikovanější, jestliže to má negativní význam. Chcete-li napsat číslo, které je menší než nula, použije se další kód.
Chcete-li jej získat, přístroj provádí řadu pomocných operací.
- Nejprve je modul záporného čísla napsán v binárním zápisu. To znamená, že počítač si pamatuje podobnou, ale pozitivní hodnotu.
- Pak je každý paměťový bit invertován. K tomu jsou všechny jednotky nahrazeny nulami a naopak.
- Přidat k výsledku "1". Bude to doplňkový kód.
Zde je ilustrativní příklad. Předpokládejme, že máme číslo X = -131 Nejprve získáme jeho modul | X | = 131. Poté jej překládáme do binárního systému a zapíšeme ho do 16 buněk. Získáváme X = 0000000010000011. Po invertaci X = 1111111101111100. K tomu přidáme hodnotu "1" a získáme inverzní kód X = 1111111101111101. Chcete-li zapsat do 16bitové paměti, minimální číslo je X = - (215) = - 32767.
Dlouhé celá čísla
Jak můžete vidět, reprezentace reálných čísel v počítači není tak obtížná. Tento rozsah však nemusí být pro většinu operací dostatečný. Proto, aby mohly vyhovět velkým číslům, počítač přiděluje z paměti 4 buňky nebo 32 bitů.
Proces nahrávání se neliší od výše uvedeného. Takže jsme jen dát rozsah čísel, které mohou být uloženy v daném typu.
Xmax= 2 147 483 647.
Xmin= - 2 147 483 648.
Tyto hodnoty jsou ve většině případů dostatečné pro záznam a provádění operací s daty.
Reprezentace reálných čísel v počítači má výhody a nevýhody. Na jedné straně tato technika usnadňuje provádění operací mezi celočíselnými hodnotami, což výrazně zrychluje práci procesoru. Na druhou stranu tento rozsah nestačí k řešení většiny problémů ekonomie, fyziky, aritmetiky a dalších věd. Proto nyní budeme zvažovat další metodu pro superuniverses.
Plovoucí bod
To je poslední věc, kterou potřebujete vědět o zastupování čísel v počítači. Vzhledem k tomu, že při záznamu zlomků existuje problém s určením polohy čárky v nich, exponenciální formulář se používá k umístění takových číslic do počítače.
Každé číslo může být reprezentováno v následujícím tvaru: X = m * pn. Kde m je mantisa čísla, p je základem číselného systému a n je pořadí čísla.
Pro standardizaci záznamu čísel s pohyblivou čárkou se používá následující podmínka, podle níž mantisový modul musí být větší nebo roven 1 / n a menší než 1.
Předpokládejme, že dostaneme číslo 666,66. Přineseme to do exponenciální podoby. Ukazuje se, že X = 0.666666 * 103. P = 10 a n = 3.
Hodnoty pohyblivých bodů jsou obvykle přiřazeny 4 nebo 8 bajtů (32 nebo 64 bitů). V prvním případě se tomu říká počet obyčejné přesnosti a ve druhém případě se nazývá dvojnásobná přesnost.
Ze 4 bajty přidělených pro ukládání čísel, 1 (8 bitů) uvedeným dále z údajů o postupu a jeho znamení, a 3 bajty (24 bitů) pro ukládání mantisy opustit své stopy a na stejných principech jako pro celočíselné hodnoty. Když to víme, můžeme provádět jednoduché výpočty.
Maximální hodnota n = 11111112= 12710. Na základě toho můžeme získat maximální velikost čísla, která může být uložena v paměti počítače. X = 2127. Nyní můžeme vypočítat maximální možnou mantisu. Bude to 223 - 1 ge- 223 = 2(10 × 2,3) ge-10002.3 = 10(3 x 2,3) ge-107.. V důsledku toho jsme získali přibližnou hodnotu.
Pokud nyní spojíme oba výpočty, získáme hodnotu, která může být zapsána bez ztráty 4 bajtů paměti. Bude rovno X = 1,701411 * 1038. Zbývající čísla byla vyřazena, protože tato přesnost umožňuje tuto metodu záznamu.
Dvojitá přesnost
Vzhledem k tomu, že všechny výpočty byly popsány a vysvětleny v předchozím odstavci, zde všechno řekneme velmi stručně. U čísel s dvojitou přesností je obvykle přidáno 11 bitů pro objednávku a její znamení, stejně jako 53 bitů pro mantisu.
П = 11111111112= 102310.
M = 252 -1 = 2(10 * 5,2) = 10005.2. = 1015.6. Zaokrouhlujeme na větší stranu a získáme maximální počet X = 21023 s přesností "m".
Doufáme, že informace o reprezentaci celých čísel a reálných čísel v počítači, my jsme za předpokladu, že je užitečné pro vás v tréninku a bude trochu jasnější, než to, co je obvykle psán v učebnicích.
- Co je systém binárních čísel?
- Reprezentace dat v počítači: binární kódování informací
- Číselný systém je ternární tabulka. Jak přeložit do systému trojčlenného čísla
- Oddělovače a násobky
- Co je systém hexadecimálních čísel?
- Pravdivý příběh o vzniku čísel
- Zaokrouhlovací čísla v WEB programování
- Assembler - příkaz pro začátečníky nízkoúrovňových programátorů
- Víte, co znamená "racionální" a jaké čísla se nazývají racionální?
- Binární čísla: systém binárních čísel
- Co je PSČ? Definice a historie výskytu
- Systém informatiky - čísel. Typy číselných systémů
- Nejpopulárnější systémy čísel
- Překlad z binárního na desetinný je snadný
- Racionální čísla a akce nad nimi
- Kompaktní sada
- Jak vypočítat kořen osm
- Použití funkce PHP náhodné
- Římský číselný systém je krásný, ale obtížný?
- Strukturovaný typ - jednorozměrné pole
- Binární systém: aritmetické operace a rozsah