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)
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):
s | e | e | e | e | e | e | e | e | f | f |
f | f | f | f | f | f | f | f |
f | f | f | f | f | f | f | f | f |
f | f | f | f |
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.)
|