Algoritmus megszerzésének negatív számú kiegészítő kód

Képviselete egész számok a számítógépet.

Egész számok a legegyszerűbb számszerű adatokat, amely működik a számítógépen. Mert egész, két nézetek: előjel nélküli (csak nem-negatív egész szám), és egy jel. Nyilvánvaló, hogy egy negatív számot is képviselteti csak abban a formában egy mérföldkő. Egész számok a számítógép tárolja fixpontos formátumban.

Képviselete egész számok, hogy előjel nélküli egész típusú.


Az előjel nélküli képviselete az összes bit a cella osztottak képviseletét a számot. Például, egy bájt (8 bit) leírható egy előjel nélküli szám 0 és 255 közötti Ezért, ha ismert, hogy a számszerű érték, nem-negatív, akkor előnyös, hogy úgy vélik, hogy, mint előjel nélküli.

Képviselete egész számok előjeles egész típusú.


Benyújtásának aláírni a legidősebb (balra) bit alapján kiosztott jele a szám, a fennmaradó számjegyek - a számot önmagával. Ha a szám pozitív, az előjel bit kerül 0, ha negatív - 1. Például egy bájt által képviselt jele -128 127.


Képviselete a számot a megszokott formában „a” - „érték”, amelyben a legnagyobb helyi értékű bit cella által adott jel, és a többi - rekord számú bináris rendszer, az úgynevezett közvetlen forrása a bináris számot. Például a közvetlen kódot bináris számok 1001 és -1.001-8-bit cella egyenlő 00.001.001 és 10.001.001 volt.
A pozitív számok, azok mindig a számítógépre a közvetlen kódot. Közvetlen kódja egybeesik nyilván a gépek száma a sejtben. Közvetlen kódot negatív szám eltér a megfelelő pozitív direkt kód tartalmát csak a jel kicsit. Azonban a negatív egész számok nincsenek képviselve a számítógép segítségével közvetlen kódot, egy úgynevezett kiegészítő kód, hogy képviselje őket.

További kódszámot.


További kód közvetlen pozitív szám kódszámok. További negatív szám kódja m 2 k - | m |, ahol k - a bitek száma a sejtben.
Mint már említettük, a bemutató nem-negatív számok előjel nélküli formában, minden bitet a cella osztottak magát a számot. Például, a rekord számú 243 = 11.110.011 egy bájtban át előjel nélküli ábrázolása a következő:

előjel bit
Felmerül a kérdés: mi a célja a negatív számok vannak írva formájában kiegészítő kód és hogyan lehet kiegészítő kód negatív szám?
A kiegészítő kódot használjuk, hogy egyszerűsítse a számtani műveleteket. Ha a számítógép dolgozott közvetlen kódok pozitív és negatív számokat, arra lenne szükség, hogy további lépések is, ha az aritmetikai műveleteket. Például, hozzátéve, arra lenne szükség, hogy ellenőrizze a jeleit mindkét operandus és határozza meg a jel az eredményt. Ha ugyanaz a jel, akkor a számított mennyiségű operandusok és hozzá van rendelve ugyanazon a címkén. Ha a tünetek eltérnek egymástól, akkor a nagyobb abszolút értéke levonásra eredmény van rendelve egy kisebb és egy nagyobb számú jel. Vagyis ez az ábrázolás a számok (csak a formája a közvetlen kód) összeadási művelet révén valósul kellően bonyolult algoritmus. Ha negatív számot képviseli, mint egy egyéni kódot, az összeadást, beleértve a különböző jel, csökken a bitenkénti kívül.

Számítógépes reprezentációja egész általánosan használt egy, kettő vagy négy bájt, azaz a memória cella áll nyolc, tizenhat, vagy harminckét bit, ill.

Algoritmus megszerzésének negatív számú kiegészítő kódot.


További k-bites kódot szükséges negatív szám

1. negatív szám jelen közvetlen forrás a k bitet;

2. Az értéket a bit fordítsa minden nullák az egység helyére, és a nullák az egység (és ily módon a k-bit reverz kódot a kezdeti szám);

3. A kapott inverz kódot hozzá egységet.

például:
Kapjuk 8 bites további kódszámok -52:

00110100 - száma | -52 | = 52 a közvetlen kódot

11001011 - számos -52 fordított kódot

11001100 - száma -52 a kiegészítő kód


Meg kell jegyezni, hogy a ábrázolása egy egész szám nem nagyon kényelmes, hogy képviselje a bináris, ezért gyakran használják hexadecimális: