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.