Signaalinkäsittelytekniikan laboratorio
Digitaalitekniikan perusteet

Luennot
 Sivukartta  
Sanasto
Laskuharjoitukset

Binääriluvuista

Digitaalilogiikassa yleisimmin käytetään binääri- eli kaksikantajärjestelmää. Järjestelmän pienin erillinen yksikkö on bitti. Bitillä voi olla kaksi arvoa, 1 tai 0. Binäärilukujen vahvuuksia ovat laskutoimitusten yksinkertaisuudet ja lukujen fysikaalisen esittämisen helppous. (On vain kaksi numeroa.) Heikkouksia ovat lukujen pituudet, epähavainnollisuus ja laskutoimituksien suuri määrä. Digitaalilaitteissa binäärilukuja säilytetään rekistereissä. Luvun esittämiseen on käytössä tietty vakiomäärä tai sen monikerta bittejä. Esimerkiksi 8, 16 tai 32.

Esimerkki 2-kantajärjestelmän luvusta: 0110102 = 1 × 2 4 + 1 × 2 3 + 1 × 2 1 = 26 10.
2. Esimerkki 2-kantajärjestelmän luvusta: 1010012 = 1 × 2 5 + 1 × 2 3 + 1 × 2 0 = 41 10.

Ylläolevan esimerkin lukua sanotaan kiinteän pilkun luvuksi. Kiinteän pilkun luvut ovat aina kokonaislukuja. Ne voivat olla joko positiivisia lukuja, jolloin luku tulkitaan sellaisenaan tai etumerkillisiä. Tällöin luvun eniten merkitsevä bitti on merkkibitti. Yleensä 1 tarkoittaa miinusta ja 0 plussaa.

Etumerkillisillä luvuilla on erilaisia esitystapoja:

  • Etumerkki-itseisarvoesitys: esitys toimii kuten desimaaliluvuissa ollaan totuttu. Tämä esitys hankaloittaa yhteen- ja vähennyslaskua, kertolasku on yksinkertainen. Etumerkki-itseisarvoesityksessä eniten merkitsevä bitti on siis etumerkkibitti, loput bitit muodostavat varsinaisen luvun. Ensimmäistä bittiä ei oteta huomioon luvun arvoa laskettaessa, muut bitit tulkitaan normaalisti.


    Esimerkiksi 4-bittinen luku 10102. Tässä ensimmäinen bitti on merkkibitti, joka kertoo luvun olevan negatiivinen,
    koska merkkibitti on 1. Loput bitit (010) kertovat, että luvun itseisarvo on 2 (1 × 2 1 = 2).
    Näin 10102 = - (0 × 2 2 + 1 × 2 1 + 0 × 2 0) = -210

    2. Esimerkki 5-bittinen luku 110012. Tässä ensimmäinen bitti on jälleen merkkibitti, joka kertoo luvun olevan negatiivinen,
    koska merkkibitti on 1. Loput bitit (1001) kertovat, että luvun itseisarvo on 9 (1 × 2 3 + 1 × 2 0 = 9).
    Näin 110012 = - (1 × 2 3 + 0 × 2 2 + 0 × 2 1 + 1 × 2 0) = -910

  • BCD (Binary Coded Decimal) -luvut ovat 10-järjestelmän lukuja joiden jokainen numero on muutettu erikseen binääriseksi

    Esimerkiksi 10-järjestelmän luku 2410 saadaan BCD-muotoon muuttamalla erikseen binääriseksi luvut 2 ja 4. Muuntaminen binääriseksi tapahtuu samalla tavalla kuin mihin tahansa kantaan (binääriluvuthan ovat 2-kantajärjestelmän lukuja)

    210 --> 102
    410 --> 1002

    Kaikki BCD luvut esitetään lopulta neljällä bitillä, koska suurin numero joka voidaan joutua muuttamaan on 910, joka on binäärijärjestelmässä 1001 ts.

    2410 --> 0010 0100 (BCD)

    2. Esimerkki 10-järjestelmän luku 16510 esitettynä BCD-muodossa saadaan kun kaikki kolme numeroa muutetaan erikseen binääriseksi. 110 --> 12
    610 --> 1102
    510 --> 1012

    Ja kun kaikki BCD luvut esitetään lopulta neljällä bitillä saadaan

    16510 --> 0001 0110 0101 (BCD)

  • 1-komplementtimuoto (tämä on melko harvinainen, yhteen- ja vähennyslaskuoperaatiot ovat suhteellisen yksinkertaisia)
  • 2- komplementtimuoto (yleisin tapa esittää lukuja digitaalilaitteissa, yhteen- ja vähennyslaskualgoritmit ovat erittäin yksinkertaisia)

Katso täältä taulukko binääriluvun eri esittämistavoista

Kiinteän pilkun luvut ovat siis aina kokonaislukuja. Desimaalilukujen sekä hyvin suurten tai hyvin pienten lukujen esittämiseen käytetään liukuvan pilkun lukuja. Liukuvan pilkun luku jakaantuu kolmeen osaan: merkkibittiin, eksponenttiin ja mantissaan.

Esim seuraavasti (kyseessä on 32-bittinen liukuvan pilkun luku):

seeeeeeeeff ffffffff fffffffff ffff


s = merkkibitti (aina 1 kpl)
e = eksponentin bitit (tässä tapauksessa 8 kpl)
f = mantissan bitit (tässä tapauksessa 23 kpl)
On siis sovittu, että kyseisessä bittijonossa ensimmäinen bitti kertoo luvun etumerkin. Siitä tietty määrä seuraavia bittejä ilmaisee luvun kantaluvun eksponentin arvon. Loput bitit tulkitaan mantissana. Liukuluvuista on olemassa muutama eri standardi. Tässä materiaalissa esitetään niistä yksi. Liukuluvun laskentakaava on esitetty alla:

Luku = (-1)s × 2e × 1.f

(Liukuluvuista lisää myöhemmin.)

Lisätietoja:


Tämän sivun sisällöstä vastaa aura@wooster.hut.fi
URL: http://signal.hut.fi/digis/luento2/binaari.html
Sivua on viimeksi päivitetty 17.09.2003.