Luennot
Sivukartta
Sanasto
|
Binäärijärjestelmän komplemeteista
2-komplementti
Olkoon positiivinen B kokonaisluku, jonka suuruusosan esityspituus on n bittiä.
B:n 2:n komplementti on silloin C2,n(B) = 2n - B
Käytännössä helppona nyrkkisääntönä voidaan muistaa seuraavaa: Jos luku on positiivinen,
se tulkitaan normalisti. Jos luku on negatiivinen, tulkitaan luvun eniten merkitsevä bitti
merkkibitti) aivan kuin se olisi tavallinen kerroin, mutta negatiivisena. Tämän jälkeen tulkitaan
muut kertoimet positiivisina.
Esimerkki
Luku 1001102 (luku on siis 2-komplementtimuodossa, merkkibitti on 1 eli luku on
negatiivinen) tulkitaan seuraavasti: 1001102 = -1 × 25 +
22 + 2 = -2610
1-komplementti
Olkoon positiivinen B kokonaisluku, jonka suuruusosan esityspituus on n bittiä.
B:n 1:n komplementti on silloin C1,n (B) = 2n - 1 - B
1-komplementin muuntaminen desimaalimuotoon kannattaa tehdä s.e. muunnetaan luku ensin
2-komplementtiin. Komplementtien välillä vallitsee yhteys:
C2,n(B) = C1,n(B) + 1
Binääriluvun komplementin muodostaminen
1-komplementti on helppo muodostaa:
Kaavaa ( C1,n (B) = 2n - 1 - B ) tulkittaessa huomataan, että 1-komplementin
luvusta saa suoraan kääntämällä kaikki bitit nurin (eli ykkösestä tulee nolla, nollasta ykkönen).
Jos luku on lyhyempi kuin käytetty bittien määrä, lisätään alkuun lisää nollia ja käännetään ne
muunnoksessa ykkösiksi.
Esimerkki
Suuruusosan esityspituus 7 bittiä, luku B=11001 (=2510)
- Lisätään tarvittavat nollat: B=0011001
- Kännetään bitit: C1,7(B) = 1100110, mikä on haluttu tulos
(Tuloksen voi tarkistaa muuntamalla sen edelleen 2-komplementiksi ja sitä kautta kymmenjärjestelmään:
2-komplementiksi eli lisätään 1: C2,7(B)=1100111=- 26 + 25 +
22 + 21 + 20 = -2510)
2-komplementti muodostetaan joko 1-komplementin kautta lisäämällä siihen 1
(kuten edellisen esimerkin tarkistusosassa) tai suoraan seuraavalla algoritmillä:
- aloitetaan vähiten merkitsevästä bitistä
- jos bitti on 0 sitä ei muuteta, vaan siirrytään seuraavaan
- ensimmäinen vastaantuleva 1-bitti säilytetään ennallaan
- loput bitit käännetään (kaikki)
Esimerkki
Suuruusosan esityspituus 7 bittiä, luku B=10100= 0010100 ( = 10 10 )
C2,7(B)=1101100 ( = -10 10 )
|