nisfarm.ru

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.
reprezentace čísel v počítači

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.

reprezentace reálných čísel v počítači

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.

reprezentace čísel v paměti počítače

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í.

reprezentace celých čísel v počítači

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í.

  1. 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.
  2. Pak je každý paměťový bit invertován. K tomu jsou všechny jednotky nahrazeny nulami a naopak.
  3. 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.

reprezentace celých čísel v paměti počítače

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.

reprezentace celých čísel a reálných čísel v počítači

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.

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru