Formátumok egészek

A számok a számítógép tárolja formátumnak megfelelően. Format - e megállapodás vagy szabályainak képviselete a számot egy bitsorozatot.

A minimális egység adattároló számítógépek - 1 bájt. A következő formátumokat egészek bájt (halfword), szó (magában foglalja a 2 bájt), a kettős szó (4 byte), egy kiterjesztett szó (8 bájt). A bitek alkotó ezeket a formátumokat nevezzük bit. Így a 8 bit egy bájt, egy szót - 16 bit, és a kettős szó - 32 bit. A bal oldalon a felső szintű és jobb - a fiatalabb. Mindegyik formátum jelentős lehet (ábra. 5.1), hogy képviselje a pozitív és negatív számokat vagy előjel nélküli (ábra. 5.2) jelentése pozitív szám.

Ábra. 5.1. Bejelentkezés formátumokat egészek

A mérföldkő a legjelentősebb bit. Ábra. 5.1 el van látva az előjel bit S. Ha ez 0, akkor a szám pozitív, és ha a bit 1, a szám nem tekinthető negatív.

Ábra. 5.2. Előjel nélküli egész szám formátumok

Általában, a tartomány által képviselt értékek ikonikus ábrázolása méret egész számok (fülre. 5.1) úgy határozzuk meg, a képlet

-2 n-1 £ X £ 2 n-1 - 1,

és az előjel nélküli méret határozza meg a képlet

0 £ X £ 2 n - 1,

ahol n - a számjegyek száma a formátumban.

5.1 táblázat. Formátumok az egész számok a számítógép

0; 4294967295

5.1.2. Közvetlen és kiegészítő kódok
képviselete bináris számok

Az előre kódot kódolja a MSB jele száma (0 - pozitív, 1 - negatív), és a fennmaradó biteket - a szám a modult.

Példa 5.1. 11. szám közvetlen jelentésre kerül a 0 | 1011p. és a szám -11 - mint 1 | 1011p. # 9633;

Kettesével kiegészítik pozitív szám is kódolva, mint a szó. Hogy képviselje a negatív szám kettes komplemens, kétféle módon. A számok ábrázolása kettesével-komplement inverziós műveletet alkalmazunk - a helyettesítő bitek az ellenkező, azaz 0 és 1, és 1-0.

Szabály 5.1. (Bitorientált ábrázolása negatív számok kettes komplemens) Adjon meg negatív számot a közvetlen kódot, és fordítsa a biteket balra a legalacsonyabb (jobbra) egység.

Példa 5.2. Számát jelenti -11 kettesével keresztül bitenkénti képviselet.

Határozat. Modul lefordítani ezt a számot a bináris rendszer: 11 = 10112, és képviseli azt a közvetlen kód: 0 | 1011p. A legfiatalabb egység - az utolsó, így változatlan marad, és a fennmaradó számjegyek a bal invertálni (5.3 ábra.).

Az eredmény 1 | 0101d - ábrázolása a számot -11 a kiegészítő kódot. # 9633;

Ábra. 5.3. Bemutatjuk -11 kettesével

Szabály 5.2. (Számtani ábrázolása a negatív számok kettes komplemens) adunk negatív számú 2 m. ahol m - bitek száma ebben bináris vagy méret és lefordítja a kapott számot a számrendszer. Mert augusztus 2 bájt = 256 szó 2 16 = 65536 a kettős szó 2 32 = 4 294 967 296.

Ezekből szabályokat, arra lehet következtetni, hogy a pozitív számok esetén növeli a bitek számát egészítik ki nullát a bal oldalon, és negatív - egység.

Példa 5.3. Számát jelenti -11 kettesével komplement képviselet számtani.

Határozat. Tegyük fel, hogy azt akarjuk, hogy m = 5 jegyű kiegészítő kódot. Compute m = 2 kifejezés 2 = 32. Mi végre felül, és tegyük egy bináris rendszer:

-11 + 32 = 21 = 101.012.

Ez az eredmény megfelel a képviseletét -11 ketteskomplenens.

Az m = 8, 2 8 = 256:

-11 + 256 = 245 = 111 101 012.

Képviselete -11 elkészült egység maradt a 8 számjegy. # 9633;

A fordított átalakulás negatív számok rögzített kiegészítő kód.

Szabály 5.3. (Bitorientált értékének meghatározása egy negatív számot beírva kettes komplemens) algoritmus értékének meghatározásához a negatív szám a kiegészítő kód az alábbi lépéseket.

1. fordított összes bitet balra a legalacsonyabb (jobbra) egység.

2. Tegyük a szám bináris-decimális rendszert szabály 4.1.

3. szorozzuk meg az eredményt -1.

Példa 5.4. Határozza meg, mely kódolt decimális szám 1 | 0101d segítségével bitenkénti meghatározás.

Határozat. Proinvertiruem soraiban száma:

Fordítás számokat bináris decimális jelölés:

Mi az eredményt megszorozzuk 1, és megszerezni a számát -11. # 9633;

Szabály 5.4. (Számtani meghatározása negatív szám írva kettes komplemens) Tegyük át a bináris szám a tízes számrendszerben, és kivonjuk a kapott száma 2 m. ahol m - a bitek száma a bináris.

5.5 példa. Határozza meg, mely kódolt decimális szám 1 | 0101d a számtani meghatározása.

Határozat. Fordítás számokat bináris decimális jelölés:

Kivonás a kapott transzlációs eredmény száma 2 m = 2 5 = 32, bináris számként áll, az 5 bitek:

Az eredmény a decimális szám -11. # 9633;

A számok az aláírt írva a kiegészítő kód és aláírás nélküli - szó szerint.

Egy bejegyzés a kiegészítő kód szükséges hozzá, és kivonni a pozitív és negatív számokat átalakítás nélkül.

5.6 példa. Hajtsuk a 21 és -11 bináris rendszerben.

Határozat. Fordítás kifejezések kiegészítő kód:

Éljünk a szabályok bináris aritmetikai:

1 + 1 = 10 (a transzfer egységek a következő szintre).

Adjunk hozzá két bináris szám oszlop figyelembe véve, hogy az átviteli egységet a jel bit figyelmen kívül hagyja:

A kapott eredményt az 10-es számú - 21 és az -11 mennyisége nélkül további átalakítások. # 9633;

Formátumok egész szót, és dupla szó tároljuk a számítógép memóriájában fordított sorrendben, tehát az alsó bájt első, majd az idősebb. Például, a szó B5DE16 lesz található a memóriában, ábrán látható módon. 5.4.

Ábra. 5.4. Elhelyezkedés B5DE16 szavakat egy számítógép memóriájában

Ez az elrendezés kényelmes byte a műveletek számát, mivel a számítások kezdeni a legkisebb helyi értékű bit, így azok az első helyezett.

5.2. Képviselete a valós számok
számítógépes

A valós számok képviselik formájában lebegőpontos számok (pont) a következő formában:

ahol M - mantissza (significand); N - radix; P - rendelési számot.

5.7 példa. Száma 2,5 × 18 okt mantissza egyenlő 2,5, és a sorrendben a 18. # 9633;

Mantissa nevezzük normalizált, ha abszolút értéke közötti tartományban van:

1 / n £ | M | <1,

ahol n - radix.

Ez a feltétel azt jelenti, hogy az első számjegy a tizedesvessző után nem nulla, és az abszolút értéke a mantissza nem haladja meg az egységet.

A számot a normalizált mantissza hívják normalizálódott.

Példa 5.8. Jelentik a számokat és -245,62 0,00123 formájában lebegőpontos számok.

Határozat. -245,62 szám is képviselteti magát formában a megrendelés -245,62 × 10 0. A mantissza ez a szám nem normalizálódott, így oszd el 3 10, míg növekvő sorrendben:

-0,24562 × 10 márciusban.

Ennek eredményeként, a szám -0,24562 × március 10 normalizálódott.

0,00123 száma formájában az eljárás 0,00123 × 10 0 nem normalizáltuk, mivel a mantissza nem normalizálódott. Szorozzuk meg a mantissza 10 2, miközben csökkenti a sorrendben:

0,123 × 10 -2.

Ennek eredményeként, a száma 0123 × 10 -2 normalizálódott. # 9633;

Ebben a példában a normalizáció a mantissza vessző tolódik jobbra vagy balra. Ezért az ilyen számokat nevezzük lebegőpontos számokat. Ezzel szemben a fix pont számok, azok jelentősen felgyorsult aritmetikai műveletek minden alkalommal van szükség, hogy normalizálják a mantissza lebegőpontos számok.

Az alapján az IEEE-754 szabvány megjelenítése egy valós számot egy számítógép használt m + p + 1 bit, felosztása a következő (5.5 ábra.): 1 bit mantissza jele; p-helyiértékű bitje; m mantissza bitet.

Ábra. 5.5. Felépítése az összes lebegőpontos formátum

Ez az ábrázolás nevezik (m, p) -format.

A tartomány a számábrázolás X (m, p) -format határoztuk egyenlőtlenségek:

£ X £ (1 - 2 - m -1) ».

A rendelési szám P kell felelniük
-2 p - 1 + 1 £ P £ 2 p - 1 - 1

A valós számok az IEEE-754 szabvány használunk (23,8) - és (52.11) -formátumot úgynevezett valós szimpla és dupla formátumok, illetve (5.2 táblázat.).

Hogy képviselje az értéke ezeknek a megrendelések, a másodpercek számát óta eltelt megalakult a Földön, csak október 18.

Szabály 5.5. (Lefordítva decimális szám (m, p) -formate) fordítás algoritmus decimális szám X (m, p) -formate az alábbi lépéseket.

1. Ha X = 0, akkor a megjelölésre kicsit, a rend és a mantissza nulla és befejezni algoritmus.

2. Ha X> 0, akkor a megjelölésre bit értéke 0, vagy 1. a megjelölésre bit van kialakítva.

3. Fordítás az egész és tört része abszolút értéke X bináris rendszerben. Ha a szám egy része, akkor kap a m + 1 számjegy. Vegyük a rendelést nulla.

5.2 táblázat. összehasonlító jellemzők
igazi formátumok

4. Ha X ³ 1, majd mozgatni a bal, míg vessző legjelentősebb bit és növelni az eljárást, különben mozgatni jobbra, míg egy vessző első nulla (single) mentesítési és csökkenti a sorrendben.

5. Ha a számjegyek száma a törtrész kisebb, mint m, majd kiegészíti a tört része nullák a jogot, hogy m bit. Elvetése egysége egy egész része. Mantissa képződik.

6. hozzátéve, hogy a sorrendben elmozdulás 2 p - 1 - 1, és az átviteli rend egy bináris számrendszerben. A sorrend kialakul. Kód, amely megrendelést, az úgynevezett offset. Az eltolt elrendezés megkönnyíti az összehasonlítást, az összeadás és kivonás megrendelések aritmetikai műveletek.

7. Vedd a jel kicsit, a rend és a megfelelő biteket mantissza formátumban.

Példa 5.9. -25.6875 számát jelenti egyetlen igazi formátumban.

Határozat. A példa 4.7-ben átvitelével kapott abszolút értéke -25,6875 a Bináris és 9 bit kaptuk:

Mi normalizálására számos mozgó vessző balra és növekvő sorrendben:

1,100110112 × 2-án.

Elöntése után a teljes 23 része van a tört része a kisülési (méretének (23,8)), mint a mantissza rögzített:

Az eljárás megegyezik a 4 (fok két elválasztott után eltolódás balra). Azt, hogy az elmozdulás és tegyük egy bináris rendszer:

4 + 127 = 131 = 100.000.112.

-25,6875 negatív szám, így a jel bit értéke 1.

Minden készen áll, hogy képviselje a szám egyetlen -25,6875 valós méret program keretében előjel bit + sorrendben + mantissza:

1 10000011 10011011000000000000000.

Osszuk el ezt a számot 8 bit, bájt képezi majd, és leírják a hexadecimális számok:

Így a szám felírható -25,6875 C1CD8000. # 9633;

Ahogy formátumok egész számok, valós számok formátumok vannak tárolva a számítógép memóriájában fordított sorrendben követő bájtok (első junior, majd senior).

Aritmetikai műveletek lebegőpontos számok a következő sorrendben.

Hozzáadásával (kivonásával) számok azonos megrendelések a mantissza adunk (levonva) és az eredmény van hozzárendelve az eljárás, amely közös a kezdeti számokat. Ha a megrendelések a bemeneti számok különböző, az első ilyen megbízások vonalban (kisebb számú nagyságrendű csökken nagyszámú sorrendben), majd végrehajtja összeadási művelet (kivonás) mantisszákat. Ha túlcsordulás történik, ha a mantissza összeadást, az összeg mantissza eltolódik balra egy kicsit, és a megrendelés összege 1-el nő.

Ha megszorozzuk számban mantissza megszorozni, és a megrendelések adunk.

Ha elosztjuk számok mantissza az osztalék elosztjuk az osztó mantissza és a magán rendelést a rendelést az osztalék osztó kivonjuk érdekében. Ebben az esetben, ha a mantissza az osztalék az osztó mantissza mantissza nagyobb, mint a privát 1 (túlcsordul), és a vesszőt kell mozgatni a bal, miközben növeli az, hogy a saját.