Reprezentace čísel na počítači. Reprezentace celých a reálných čísel v paměti počítače Jak jsou v počítači reprezentována záporná čísla

Každý, kdo někdy v životě přemýšlel o tom, že by se stal „IT specialistou“ nebo správcem systému, a jednoduše se do toho vrhl se znalostí toho, jak jsou čísla reprezentována, je naprosto nezbytný. Koneckonců, na tom jsou založeny nízkoúrovňové programovací jazyky, jako je Assembler. Proto se dnes podíváme na reprezentaci čísel v počítači a jejich umístění v paměťových buňkách.

Notový zápis

Pokud čtete tento článek, pravděpodobně to již víte, ale stojí za to si to zopakovat. Všechna data na osobním počítači jsou uložena v binárním tvaru, to znamená, že jakékoli číslo musí být reprezentováno v příslušném tvaru, tedy složeném z nul a jedniček.

Chcete-li převést nám známá desetinná čísla do podoby srozumitelné pro počítač, musíte použít níže popsaný algoritmus. Existují také specializované kalkulačky.

Abychom tedy převedli číslo do binární číselné soustavy, musíme vzít zvolenou hodnotu a vydělit ji 2. Poté dostaneme výsledek a zbytek (0 nebo 1). Výsledek opět vydělíme 2 a zbytek si zapamatujeme. Tento postup je nutné opakovat, dokud nebude konečný výsledek také 0 nebo 1. Poté zapíšeme konečnou hodnotu a zbytky v opačném pořadí, jak jsme je obdrželi.

Přesně tak jsou čísla reprezentována v počítači. Jakékoli číslo je zapsáno v binárním tvaru a poté zabírá paměťovou buňku.

Paměť

Jak již víte, nejmenší jednotkou informace je 1 bit. Jak jsme již zjistili, čísla jsou v počítači reprezentována v binárním formátu. Každý bit paměti bude tedy obsazen jednou hodnotou - 1 nebo 0.

Buňky slouží ke skladování. Každá taková jednotka obsahuje až 8 bitů informací. Můžeme tedy dojít k závěru, že minimální hodnota v každém segmentu paměti může být 1 bajt nebo to může být osmimístné binární číslo.

Celý

Konečně se dostáváme k přímému umístění dat do počítače. Jak již bylo zmíněno, procesor nejprve převede informace do binárního formátu a teprve poté je uloží do paměti.

Začneme tou nejjednodušší možností, kterou je reprezentace celých čísel v počítači. Paměť PC alokuje pro tento proces směšně malý počet buněk – pouze jednu. Maximálně jeden slot tedy může obsahovat hodnoty od 0 do 11111111. Převeďme maximální počet do nám známé podoby zápisu.
X = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 = 1 × 2 8 - 1 = 255 .

Nyní vidíme, že jedna paměťová buňka může obsahovat hodnotu od 0 do 255. To však platí výhradně pro nezáporná celá čísla. Pokud počítač potřebuje zapsat zápornou hodnotu, bude vše fungovat trochu jinak.

Záporná čísla

Nyní se podívejme, jak jsou čísla reprezentována v počítači, pokud jsou záporná. Pro přizpůsobení hodnotě, která je menší než nula, jsou přiděleny dvě paměťové buňky nebo 16 bitů informace. V tomto případě jde 15 pod samotné číslo a první bit (zcela vlevo) je uveden pod odpovídajícím znaménkem.

Pokud je číslo záporné, zapíše se „1“, pokud je kladné, pak „0“. Abychom si to lépe zapamatovali, můžeme nakreslit následující analogii: pokud existuje znaménko, dáme 1, pokud tam není, pak nic (0).

Zbývajících 15 bitů informace je přiděleno číslu. Podobně jako v předchozím případě mohou pojmout maximálně patnáct jednotek. Stojí za zmínku, že zaznamenávání záporných a kladných čísel se od sebe výrazně liší.

Pro umístění hodnoty větší nebo rovné nule do 2 paměťových buněk se používá tzv. přímý kód. Tato operace se provádí stejným způsobem, jak je popsáno, a maximum A = 32766, pokud je použito, rád bych okamžitě poznamenal, že v tomto případě „0“ znamená kladné.

Příklady

Reprezentovat celá čísla v paměti počítače není tak obtížný úkol. I když se to trochu zkomplikuje, pokud mluvíme o záporné hodnotě. K zápisu čísla, které je menší než nula, se používá dvojkový doplňkový kód.

K jeho získání stroj provádí řadu pomocných operací.

  1. Nejprve je modul záporného čísla zapsán v binárním zápisu. To znamená, že počítač si pamatuje podobnou, ale kladnou hodnotu.
  2. Každý bit paměti je pak invertován. K tomu jsou všechny jedničky nahrazeny nulami a naopak.
  3. K výsledku přidejte "1". Toto bude dodatečný kód.

Uveďme jasný příklad. Mějme číslo X = - 131. Nejprve dostaneme jeho modul |X|= 131. Poté jej převedeme do dvojkové soustavy a zapíšeme do 16 buněk. Dostaneme X = 0000000010000011. Po inverzi je X = 1111111101111100. Přidáme k němu „1“ a získáme návratový kód X=1111111101111101. Pro zápis do 16bitové paměťové buňky je minimální počet X = - (2 15) = - 32767.

Dlouhá celá čísla

Jak vidíte, reprezentovat reálná čísla v počítači není tak těžké. Uvažovaný rozsah však nemusí být pro většinu operací dostatečný. Aby počítač pojal velká čísla, přiděluje z paměti 4 buňky nebo 32 bitů.

Proces nahrávání se absolutně neliší od výše uvedeného. Uvedeme tedy pouze rozsah čísel, která lze do tohoto typu uložit.

X max = 2,147,483,647.

X min = -2 147 483 648.

Ve většině případů jsou tyto hodnoty dostatečné pro záznam a provádění operací s daty.

Reprezentace reálných čísel v počítači má své výhody i nevýhody. Tato technika na jedné straně usnadňuje provádění operací mezi celočíselnými hodnotami, což výrazně zrychluje procesor. Na druhou stranu tento rozsah nestačí na řešení většiny problémů v ekonomii, fyzice, aritmetice a dalších vědách. Proto nyní zvážíme jinou techniku ​​pro supermagnitudy.

plovoucí bod

To je poslední věc, kterou potřebujete vědět o reprezentaci čísel v počítači. Protože při zápisu zlomků nastává problém s určením polohy desetinné čárky v nich, používá se k umístění takových číslic do počítače vědecká notace.

Jakékoli číslo může být reprezentováno v následujícím tvaru X = m * p n kde m je mantisa čísla, p je základ číselné soustavy a n je exponent čísla.

Pro standardizaci záznamu čísel s plovoucí desetinnou čárkou se používá následující podmínka, podle které musí být modul mantisy větší nebo roven 1/n a menší než 1.

Nechť je nám přiděleno číslo 666,66. Řekněme to v exponenciální podobě. Ukázalo se, že X = 0,66666 * 10 3. P = 10 an = 3.

Hodnoty s plovoucí desetinnou čárkou jsou obvykle přiděleny 4 nebo 8 bajtů (32 nebo 64 bitů). V prvním případě se nazývá číslo s běžnou přesností a ve druhém případě se nazývá číslo s dvojnásobnou přesností.

Ze 4 bajtů vyhrazených pro uložení číslic je 1 (8 bitů) přidělen pro data o objednávce a jejím znaménku a 3 bajty (24 bitů) slouží k uložení mantisy a jejího znaménka podle stejných principů jako pro celočíselné hodnoty. . Když to víme, můžeme provádět jednoduché výpočty.

Maximální hodnota n = 1111111 2 = 127 10. Na jeho základě můžeme získat maximální velikost čísla, které lze uložit do paměti počítače. X = 2127. Nyní můžeme vypočítat maximální možnou mantisu. Bude se rovnat 2 23 - 1 ≥ 2 23 = 2 (10 × 2,3) ≥ 1000 2,3 = 10 (3 × 2,3) ≥ 10 7. V důsledku toho jsme dostali přibližnou hodnotu.

Pokud nyní oba výpočty spojíme, dostaneme hodnotu, kterou lze bez ztráty zapsat do 4 bajtů paměti. Bude se rovnat X = 1,701411 * 10 38. Zbývající čísla byla vyřazena, protože to je přesnost, kterou tato metoda záznamu umožňuje.

Dvojitá přesnost

Protože všechny výpočty byly nastíněny a vysvětleny v předchozím odstavci, zde vše povíme velmi stručně. Pro čísla s dvojitou přesností je obvykle 11 bitů pro exponent a jeho znaménko a také 53 bitů pro mantisu.

P = 1111111111 2 = 1023 10.

M = 252-1 = 2 (10 x 5,2) = 1000 5,2 = 10 15,6. Zaokrouhlíme nahoru a získáme maximální číslo X = 2 1023 s přesností na nejbližší „m“.

Doufáme, že informace, které jsme vám poskytli o reprezentaci celých a reálných čísel v počítači, se vám budou hodit při studiu a budou alespoň o něco srozumitelnější, než se běžně píše v učebnicích.

Číselná data jsou zpracovávána v počítači pomocí binární číselné soustavy. Čísla jsou uložena v paměti počítače v binárním kódu, tedy jako posloupnost nul a jedniček, a mohou být reprezentována ve formátu s pevnou nebo pohyblivou řádovou čárkou.

Celá čísla jsou uložena v paměti ve formátu s pevnou řádovou čárkou. U tohoto formátu pro reprezentaci čísel je pro ukládání nezáporných celých čísel alokován paměťový registr sestávající z osmi paměťových buněk (8 bitů). Každá číslice paměťové buňky vždy odpovídá stejné číslici čísla a čárka je umístěna vpravo za nejméně významnou číslicí a mimo mřížku číslic. Například číslo 110011012 by bylo uloženo v paměťovém registru následovně:

Tabulka 4

Maximální hodnotu nezáporného celého čísla, které lze uložit do registru ve formátu s pevnou řádovou čárkou, lze určit ze vzorce: 2n – 1, kde n je počet číslic čísla. Maximální počet se bude rovnat 28 - 1 = 25510 = 111111112 a minimální 010 = 000000002. Rozsah změn nezáporných celých čísel bude tedy od 0 do 25510.

Na rozdíl od desítkové soustavy nemá binární číselná soustava v počítačové reprezentaci binárního čísla symboly označující znaménko čísla: kladné (+) nebo záporné (-), proto, aby reprezentovaly celá čísla se znaménkem v binární soustavě, dvě používají se formáty reprezentace čísel: formát číselné hodnoty se znaménkem a formát dvojkového doplňku. V prvním případě jsou dva paměťové registry (16 bitů) alokovány pro ukládání celých čísel se znaménkem a nejvýznamnější číslice (zcela vlevo) se používá jako znaménko čísla: pokud je číslo kladné, pak se do bitu znaménka zapíše 0. , pokud je číslo záporné, pak 1. Například číslo 53610 = 00000010000110002 bude v paměťových registrech zastoupeno v následujícím tvaru:

Tabulka 5

a záporné číslo -53610 = 10000010000110002 ve tvaru:

Tabulka 6

Maximální kladné číslo nebo minimální záporné číslo ve formátu hodnoty čísla se znaménkem (s přihlédnutím k zastoupení jedné číslice na znaménko) je 2n-1 – 1 = 216-1 – 1 = 215 – 1 = 3276710 = 1111111111111112 a rozsah čísel bude od - 3276710 do 32767.

Nejčastěji se pro reprezentaci celých čísel se znaménkem v binární soustavě používá formát kódu komplementu dvojky, který umožňuje nahradit aritmetickou operaci odčítání v počítači operací sčítání, což výrazně zjednodušuje strukturu mikroprocesoru a zvyšuje jeho výkon. .

K reprezentaci záporných celých čísel v tomto formátu se používá kód doplňku dvojky, což je modul záporného čísla k nule. Převod záporného celého čísla na dvojkový doplněk se provádí pomocí následujících operací:


1) zapište modul čísla v přímém kódu v n (n = 16) binárních číslicích;

2) získat obrácený kód čísla (převrátit všechny číslice čísla, tj. nahradit všechny jedničky nulami a nuly jedničkami);

3) k výslednému reverznímu kódu přidejte jednu k nejméně významné číslici.

Například pro číslo -53610 v tomto formátu bude modul 00000010000110002, reciproční kód bude 1111110111100111 a doplňkový kód bude 1111110111101000.

Je třeba si uvědomit, že doplňkem kladného čísla je samotné číslo.

Chcete-li při použití ukládat celá čísla se znaménkem jiná než 16bitová počítačová reprezentace dva paměťové registry(tento formát čísel se také nazývá krátký celočíselný formát se znaménkem), používají se střední a dlouhé celočíselné formáty se znaménkem. Pro reprezentaci čísel ve formátu středních čísel se používají čtyři registry (4 x 8 = 32 bitů) a pro reprezentaci čísel ve formátu dlouhých čísel se používá osm registrů (8 x 8 = 64 bitů). Rozsahy hodnot pro formát středních a dlouhých čísel budou: -(231 – 1) ... + 231 – 1 a -(263-1) ... + 263 – 1.

Počítačová reprezentace čísel ve formátu pevných bodů má své výhody i nevýhody. NA výhod zahrnují jednoduchost reprezentace čísel a algoritmy pro provádění aritmetických operací, nevýhodou je omezený rozsah reprezentace čísel, který může být nedostatečný pro řešení mnoha problémů praktického charakteru (matematických, ekonomických, fyzikálních atd.).

Reálná čísla (konečná a nekonečná desetinná místa) jsou zpracována a uložena v počítači ve formátu s plovoucí desetinnou čárkou. S tímto formátem reprezentace čísel se pozice desetinné čárky v položce může změnit. Jakékoli reálné číslo K ve formátu s plovoucí desetinnou čárkou může být reprezentováno jako:

kde A je mantisa čísla; h – základ číselné soustavy; p – číselné pořadí.

Výraz (2.7) pro desítkovou číselnou soustavu bude mít tvar:

pro binární -

pro osmičkový -

pro hexadecimální -

Tato forma reprezentace čísel se také nazývá normální . Se změnou pořadí se čárka v čísle posouvá, to znamená, že jakoby plave doleva nebo doprava. Proto se nazývá normální forma reprezentace čísel forma s plovoucí desetinnou čárkou. Desetinné číslo 15,5, například, ve formátu s plovoucí desetinnou čárkou může být reprezentováno jako: 0,155 102; 1,55 101; 15,5 100; 155,0 10-1; 1550.0 · 10-2 atd. Tato forma zápisu desetinné čárky s pohyblivou řádovou čárkou 15.5 se nepoužívá při psaní počítačových programů a jejich zadávání do počítače (vstupní zařízení počítače přijímají pouze lineární záznam dat). Na základě toho je výraz (2.7) pro znázornění desetinných čísel a jejich zadávání do počítače převeden do tvaru

kde P je pořadí čísel,

tj. místo základu číselné soustavy 10 píší písmeno E, místo čárky tečku a znaménko násobení se nedává. Tedy číslo 15,5 v plovoucí řádové čárce a lineárním formátu (počítačová reprezentace) bude zapsáno jako: 0,155E2; 1,55E1; 15,5E0; 155,0E-1; 1550,0E-2 atd.

Bez ohledu na číselnou soustavu může být jakékoli číslo ve formě s pohyblivou řádovou čárkou reprezentováno nekonečným počtem čísel. Tato forma záznamu se nazývá nenormalizované . Pro jednoznačnou reprezentaci čísel s pohyblivou řádovou čárkou se používá normalizovaná forma zápisu čísla, ve které mantisa čísla musí splňovat podmínku

kde |A| - absolutní hodnota mantisy čísla.

Podmínka (2.9) znamená, že mantisa musí být řádný zlomek a mít za desetinnou čárkou nenulovou číslici, nebo jinými slovy, pokud mantisa nemá za desetinnou čárkou nulu, pak se číslo nazývá normalizované. . Takže číslo 15,5 v normalizovaném tvaru (normalizovaná mantisa) v plovoucí řádové čárce bude vypadat takto: 0,155 102, tj. normalizovaná mantisa bude A = 0,155 a řádu P = 2, nebo v počítačové reprezentaci čísla 0,155E2 .

Čísla s pohyblivou řádovou čárkou mají pevný formát a zabírají čtyři (32 bitů) nebo osm bajtů (64 bitů) paměti počítače. Pokud číslo zabírá 32 bitů v paměti počítače, pak je to číslo s běžnou přesností, pokud je 64 bitů, pak je to číslo s dvojnásobnou přesností. Při zápisu čísla s plovoucí desetinnou čárkou se přidělují bity pro uložení znaménka mantisy, znaménka exponentu, mantisy a exponentu. Počet číslic přidělených pořadí čísla určuje rozsah variace čísel a počet číslic přidělených k uložení mantisy určuje přesnost, se kterou je číslo specifikováno.

Při provádění aritmetických operací (sčítání a odčítání) na číslech prezentovaných ve formátu s plovoucí desetinnou čárkou je implementován následující postup (algoritmus):

1) pořadí čísel, se kterými se provádějí aritmetické operace, je zarovnáno (řád menšího absolutního čísla se zvětšuje na řád většího absolutního čísla, zatímco mantisa se o stejnou hodnotu zmenšuje);

2) aritmetické operace se provádějí na mantisách čísel;

3) získaný výsledek je normalizován.

Praktická část

Reálná čísla v matematických výpočtech nemají žádná omezení na rozsah a přesnost reprezentace čísel. V počítačích jsou však čísla uložena v registrech a paměťových místech s omezeným počtem číslic. Proto přesnost reprezentace reálná čísla, představitelné v autě, je konečný a rozsah je omezený.

Při psaní reálných čísel v programech je zvykem místo obvyklé čárky používat tečku. Jakékoli reálné číslo může být reprezentováno ve formě čísel s radixovým pořadím číselné soustavy.

Příklad 4.4. Desetinné číslo 1,756 ve formě zápisu čísel s radixovým pořadím číselné soustavy lze znázornit takto:

1.756 . 10 0 = 0.1756 . 10 1 = 0.01756 . 10 2 = ...

17.56 . 10 -1 = 175.6 . 10 -2 = 1756.0 . 10 -3 = ... .

Reprezentace s plovoucí desetinnou čárkou reprezentace volaných čísel N v číselné soustavě se základem q tak jako :

N = m*. q p ,

Kde m - násobitel obsahující všechny číslice čísla (mantisa), p - celé číslo nazývané pořadí.

Pokud je „plovoucí“ čárka umístěna v mantise před první platnou číslicí, pak s pevným počtem číslic přidělených pro mantisu se zaznamená maximální počet platných číslic čísla, to znamená maximální přesnost čísla. zastoupení ve stroji.

Pokud je v mantise první číslice za tečkou (čárkou) jiná než nula, pak se takové číslo nazývá normalizované .

Mantisa a řád q V soustavě radix je obvyklé psát -ary číslo q a samotný základ je v desítkové soustavě.

Příklad 4.5. Zde jsou příklady normalizované reprezentace čísla v desítkové soustavě:

2178.01 =0.217801 * 10 4

0.0045 =0.45 * 10 -2

Příklady v binárním formátu:

10110,01= 0,1011001 * 2 101 (pořadí 101 2 = 5 10)

Moderní počítače podporují několik mezinárodních standardních formátů pro ukládání reálných čísel s pohyblivou řádovou čárkou, lišících se přesností, ale všechny mají stejnou strukturu. Reálné číslo je uloženo ve třech částech: znamení mantisy, posunuté pořadí a mantisa:

Charakteristický n-bitové normalizované číslo se vypočítá následovně: pokud je pořadí přiděleno kčíslic, pak se ke skutečné hodnotě řádu reprezentovaného v kódu doplňku dvojky přičte posun rovný (2 k -1 -1).

Objednávka s hodnotami v rozsahu -128 až +127 je tedy převedena na zkreslenou objednávku v rozsahu 0 až 255. Zkreslená objednávka je uložena jako číslo bez znaménka, což zjednodušuje porovnávání, sčítání a odečítání objednávek. a také zjednodušuje porovnávání samotných normalizovaných čísel.

Počet číslic přidělených příkazu ovlivňuje rozsah od nejmenšího nenulového čísla po největší číslo reprezentovatelné ve stroji daného formátu. Je zřejmé, že čím více číslic je mantise přiděleno, tím vyšší je přesnost reprezentace čísla. Vzhledem k tomu, že pro normalizovaná reálná čísla je nejvýznamnější bit mantisy vždy 1, tento nejvýznamnější bit se neukládá do paměti.

Jakékoli binární celé číslo obsahující nejvýše mčíslic, lze převést do reálného formátu bez zkreslení.

Tabulka 4.3. Standardní formáty pro reprezentaci reálných čísel

Příklad 4.6. Reprezentace normalizovaných čísel v jediném formátu.

Ukažme si, jak bude uloženo číslo 37,16 10. Při převodu na binární číslo nevznikne přesný překlad 100101,(00101000111101011100) - zlomková část uzavřená v závorkách se v tečce opakuje.

Číslo převedeme do normalizovaného tvaru: 0,100101 (00101000111101011100) * 2 110

Představme si reálné číslo ve 32bitovém formátu:

1. Znaménko čísla je „+“, takže do znaménkového bitu (31) zadáme 0;

2. Pro nastavení pořadí je přiděleno 8 bitů skutečné hodnotě pořadí uvedené v doplňkovém kódu, přidáme offset (2 7 -1) = 127. Protože je objednávka kladná, kód přímé objednávky se shoduje s dodatečnou objednávkou, vypočítejme posunutou objednávku: 00000110 + 01111111=10000101

Zadáme výsledné posunuté pořadí.

3. Vstoupíme do mantisy, přičemž odstraníme nejvýznamnější číslici mantisy (vždy je rovna 1);

posunuté pořadí

mantisa

V tomto příkladu jsme byli schopni přenést pouze 24 bitů, zbytek byl ztracen se ztrátou přesnosti při reprezentaci čísla.

Účel služby. Online kalkulačka je navržena tak, aby reprezentovala reálná čísla ve formátu s plovoucí desetinnou čárkou.

Pravidla pro zadávání čísel

  1. Čísla v desítkové soustavě čísel lze zadávat buď bez zlomkové části, nebo se zlomkovou částí (234234.455).
  2. Čísla v binární číselné soustavě se skládají pouze z číslic 0 a 1 (10100.01).
  3. Čísla v hexadecimální číselné soustavě se skládají z číslic 0...9 a písmen A...F.
  4. Můžete také získat obrácenou reprezentaci kódu (z šestnáctkové na desítkovou, 40B00000)
Příklad č. 1. Představte číslo 133,54 v plovoucí řádové čárce.
Řešení. Představme si číslo 133,54 v normalizovaném exponenciálním tvaru:
1,3354*10 2 = 1,3354*exp 10 2
Číslo 1,3354*exp 10 2 se skládá ze dvou částí: mantisa M=1,3354 a exponent exp 10 =2
Pokud je mantisa v rozsahu 1 ≤ M Reprezentace čísla v denormalizované exponenciální formě.
Pokud je mantisa v rozsahu 0,1 ≤ M Představme číslo v denormalizovaném exponenciálním tvaru: 0,13354*exp 10 3

Příklad č. 2. Představují binární číslo 101.10 2 v normalizovaném tvaru, zapsané v 32bitovém standardu IEEE754.
Řešení.
Reprezentace binárního čísla s pohyblivou řádovou čárkou v exponenciálním normalizovaném tvaru.
Posuňme číslo o 2 číslice doprava. V důsledku toho jsme získali hlavní složky exponenciálního normalizovaného binárního čísla:
Mantisa M = 1,011
Exponent exp 2 =2
Převeďte binární normalizované číslo do 32bitového formátu IEEE 754.
První bit je přidělen k označení znaménka čísla. Protože je číslo kladné, první bit je 0
Dalších 8 bitů (2. až 9.) je vyhrazeno pro exponent.
Chcete-li určit znaménko exponentu, abyste se vyhnuli zavedení dalšího znaménkového bitu, přidejte posun k exponentu půl bajtu +127. Náš exponent je tedy: 2 + 127 = 129
Převedeme exponent na binární reprezentaci.
Zbývajících 23 bitů je vyhrazeno pro mantisu. V normalizované binární mantise je první bit vždy roven 1, protože číslo leží v rozsahu 1 ≤ M Chcete-li převést celočíselnou část, musíte vynásobit číslici čísla odpovídající mocninou číslice.
01100000000000000000000 = 2 22 *0 + 2 21 *1 + 2 20 *1 + 2 19 *0 + 2 18 *0 + 2 17 *0 + 2 16 *0 + 2 15 *0 + 2 14 *0 + 2 13 *0 + 2 12 *0 + 2 11 *0 + 2 10 *0 + 2 9 *0 + 2 8 *0 + 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *0 + 2 1 *0 + 2 0 *0 = 0 + 2097152 + 1048576 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 = 3145728
V desítkovém kódu je mantisa vyjádřena jako 3145728
Výsledkem je, že číslo 101.10 uvedené v IEEE 754 s jednoduchou přesností je rovno.
Převedeme na hexadecimální reprezentaci.
Rozdělme zdrojový kód do skupin po 4 bitech.
2 = 0100 0000 1011 0000 0000 0000 0000 0000 2
Dostaneme číslo:
0100 0000 1011 0000 0000 0000 0000 0000 2 = 40B00000 16

Pokud bychom se mohli podívat do obsahu paměti počítače, viděli bychom následující:

Toto číslo odráží Pravidlo č. 1: Data (a programy) v paměti počítače jsou uloženy v binární podobě, tzn. ve formě řetězců nul a jedniček.

Pravidlo 2:diskrétní reprezentace dat v počítači.

Co je diskrétnost?

Nejbližší odpověď: "Oddělit"

Poznámka: Samostatná sada se skládá z prvků navzájem oddělených. Například písek je diskrétní, protože se skládá z jednotlivých zrnek písku. Ale voda nebo olej je spojitý (v rámci našich pocitů, protože stále nedokážeme vnímat jednotlivé molekuly)

Například obrázek je konstruován jako sbírka bodů, tzn. diskrétně.

Pravidlo 3:množina veličin reprezentovatelných v paměti je omezená a konečná.

Reprezentace čísel na počítači.

Celá čísla v počítači. (Formát s pevným bodem)

Jakékoli výpočetní zařízení (počítač, kalkulačka) může pracovat pouze s omezenou sadou celých čísel. Podívejte se na displej kalkulačky, obsahuje 10 znaků. Největší kladné číslo, které lze umístit na výsledkovou tabuli:

9

9

9

9

9

9

9

9

9

Největší záporné číslo v absolutní hodnotě:

9

9

9

9

9

9

9

9

9

V počítači je situace podobná.

Pokud je například pro celé číslo alokována paměťová buňka o 16 bitech, bude největší kladné číslo vypadat takto:

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

V desítkové soustavě čísel se rovná:

2 15 -1=32767

První bit zde hraje roli znaménka čísla. Nula je znakem kladného čísla. Největší absolutní záporné číslo je -32768.

Jak získat jeho vnitřní reprezentaci:

1) převést číslo 32768 na binární číselnou soustavu, rovná se
1000000000000000 - přijato přímý kód.

2) invertovat tento binární kód, tzn. nahradit nuly jedničkami a jedničky nulami – máme návratový kód.

0111111111111111

3) Přidejte k tomuto binárnímu číslu jedničku, výsledkem je:

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Jednička v prvním bitu označuje znaménko mínus.

(nemyslete si, že výsledný kód je "mínus nula". Tento kód představuje číslo -32768.)

Toto jsou pravidla pro strojovou reprezentaci celých čísel. Tato vnitřní reprezentace čísla se nazývá doplňkový kód.

Pokud je pro celé číslo v paměti počítače alokováno N bitů, pak rozsah celočíselných hodnot je: [-2 N-1 -1, 2 N -1]

Podívali jsme se na formát pro reprezentaci celých čísel se znaménkem, tzn. pozitivní a negativní. Jsou chvíle, kdy potřebujete pracovat pouze s kladnými celými čísly. V tomto případě je použit formát pro reprezentaci celých čísel bez znaménka.

V tomto formátu je nejmenší číslo nula a největší číslo pro 16bitovou buňku je:

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

V desítkovém zápisu je to 2 16 - 1 = 65535, dvojnásobek absolutní hodnoty zápisu se znaménkem.

Celá čísla v počítači. (Formát s plovoucí desetinnou čárkou)

Největší počet se může lišit kalkulačku od kalkulačky. Nejjednodušší kalkulačka má 999999999. Pokud k ní přidáte další jednotku, kalkulačka zobrazí chybové hlášení. A na „chytřejší“ kalkulačce přidání jedné povede k následujícímu výsledku:

1

E

+

0

9

Tento záznam na výsledkové tabuli je chápán následovně: 1 x 10 9.

Tento číselný formát se nazývá formát s plovoucí desetinnou čárkou.

1

E

+

0

9

mantisa

číselné pořadí

Na počítači mohou být čísla reprezentována jak ve formátu s pevnou, tak s pohyblivou řádovou čárkou.




Horní