Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Lukujärjestelmät Kymmen- eli desimaalijärjestelmä: kantaluku perinteisesti käytetty ja tuttu numerot,, 2, 3, 4, 5, 6, 7, 8 ja 9 Kaksi- eli binaarijärjestelmä: kantaluku 2 numerot ja luvut ovat pitkiä numeroita nimitetään biteiksi (binary digit) soveltuu hyvin digitaalilaitteisiin asetetaan loogisen signaalin arvot ja vastaamaan bitin arvoja ja Kahdeksan- eli oktaalijärjestelmä: kantaluku 8 numerot,, 2, 3, 4, 5, 6 ja 7 Kuusitoista- eli heksadesimaalijärjestelmä: kantaluku 6 yleisessä käytössä digitaalisuunnittelussa ja ohjelmoinnissa kaksijärjestelmää havainnollisempi, luvut ovat lyhyitä numerot,, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E ja F 2 8 6
Digitaalitekniikan matematiikka Luku 9 Sivu 4 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Kantaluvun esittäminen ja lukutyypit? Kantaluvun (base, radix) esittäminen: alaindeksillä luvun perässä: esimerkiksi 2, 75 8, 94, F5C 6 kirjaimella luvun perässä: esimerkiksi B, 75Q, 94D, F5CH etuliitteellä: esimerkiksi C-kielessä 75 = 75 8, 94 = 94, xf5c = F5C 6 Lukutyypit: etumerkittömät luvut (unsigned numbers) kaikki luvut samanmerkkisiä (yleensä positiivisia) etumerkkiä ei merkitä etumerkillä varustetut luvut (signed numbers) sekä positiivisia että negatiivisia lukuja etumerkki merkittävä näkyviin unsigned signed
Digitaalitekniikan matematiikka Luku 9 Sivu 5 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Etumerkittömien lukujen esittäminen ja tulkinta Esitystapa: Numero Kokonais- ja murto-osan erotin (pilkku tai piste) A n A n - A 2 A A, A - A -2 A -3 A -m A n? 2 Kantaluku Tulkinta: A = A n k n + A n - k n - + + A 2 k 2 + A k + A k + A - k - + A -2 k -2 + A -3 k -3 + + A -m k -m A n k n Esimerkkejä: Esimerkkejä: 724,5 724,5 = 7 7 2 2 + 2 2 + 4 4 + 5 5 - -,B,B = 2 2 4 4 + 2 2 3 3 + 2 2 2 2 + 2 2 + 2 2 + 2 2 - - + 2 2-2 -2 = 2,25 2,25 724,5 724,5 = 7 8 7 8 2 2 + 2 8 2 8 + 4 8 4 8 + 5 8 5 8 - - = 468,625 468,625 xa5bf6 xa5bf6 = A 6 A 6 5 5 + 5 6 5 6 4 4 + 6 6 3 3 + B 6 B 6 2 2 + F 6 F 6 + 6 6 6 6 = 8652 8652 Huom! Huom! Robottien digitaalitekniikassa käsittelemme vain vain kokonaislukuja.
Digitaalitekniikan matematiikka Luku 9 Sivu 6 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Etumerkittömiä kokonaislukuja eri järjestelmissä Heksadesimaali 2 3 4 5 6 7 8 9 A B C D E F Desimaali Oktaali Binaari 2 3 4 5 6 7 8 9 2 3 4 5 2 3 4 5 6 7 2 3 4 5 6 7 6 8 2
Digitaalitekniikan matematiikka Luku 9 Sivu 7 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Lukujen esitys digitaalilaitteissa Kaikki luvut esitetään numeroiden ja avulla Binaariluvuille tämä on helppoa, tarvitaan vain ja Muiden järjestelmien luvuille käytetään koodausta Luvut voivat olla kokonaislukuja (integer) kiinteän pilkun (fixed point) lukuja liukuvan pilkun (floating point) lukuja (hyvin suuri lukualue) Toisaalta ne voivat olla etumerkittömiä etumerkillä varustettuja Lukujen arvoja pidetään rekistereissä Luvun esittämiseen on käytettävissä tietty vakiomäärä tai sen monikerta bittejä, esim. 8, (2), 6, 32, 64 tai jopa 28 Em. bittimäärä = sananpituus (word length) Tavu (byte, B) = 8 bittiä Esim. = 9 tavu = 8 bittiä
Digitaalitekniikan matematiikka Luku 9 Sivu 8 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Etumerkittömät binaarikokonaisluvut Esitystapa: Eniten merkitsevä bitti (most significant bit) msb B n B n - B n -2 B 2 B B Tulkinta: Vähiten merkitsevä bitti (least significant bit) lsb 2 Esimerkki: Kahdeksanbittinen etumerkitön kokonaisluku msb B = B n 2 n + B n - 2 n - + B n -2 2 n -2 + + B 2 2 2 + B 2 + B 2 lsb? 3 Esimerkkejä: Sananpituus on on 8 bittiä. bittiä. Esitä Esitä etumerkittömät kokonaisluvut,,,,,, ja ja,,,,, (ei (ei muutu) muutu)
Digitaalitekniikan matematiikka Luku 9 Sivu 9 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Etumerkillä varustetut binaarikokonaisluvut Merkkibitti (sign bit) ilmoittaa luvun etumerkin, yleensä = + ja = - Kahdeksanbittinen positiivinen kokonaisluku msb lsb Luku = + 2 = 88 Merkkibitti Suuruus 6-bittinen negatiivinen kokonaisluku msb lsb Merkkibitti Suuruus Luvun arvo riippuu esitysmuodosta
Digitaalitekniikan matematiikka Luku 9 Sivu 2 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Etumerkillä varustettujen binaarilukujen esitysmuodot Etumerkki-itseisarvoesitys (sign-and-magnitude) tuttu -järjestelmästä monimutkaiset yhteen- ja vähennyslaskualgoritmit yksinkertainen kertolaskualgoritmi Yhden komplementtiesitys ('s complement) harvinainen suhteellisen yksinkertaiset yhteenja vähennyslaskualgoritmit ei esitetä tässä opintojaksossa Kahden komplementtiesitys (2's complement) yleisin esitystapa digitaalilaitteissa erittäin yksinkertaiset yhteen- ja vähennyslaskualgoritmit ± s 2 s
Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Positiivisten ja negatiivisten binaarilukujen esitys Positiivisten lukujen esitys merkkibitti = samanlainen edellä mainituissa esitystavoissa suuruusosa ilmaisee luvun arvon esityksen tulkinta kuten edellä olleissa esimerkeissä + Negatiivisten lukujen esitys merkkibitti = muutoin erilainen eri esitystavoissa etumerkki-itseisarvoesityksessä suuruusosa on luvun itseisarvo kahden komplementtiesityksessä suuruusosa on luvun itseisarvon kahden komplementti ehkä selkeämmin: kahden komplementtiesityksessä negatiivinen luku on vastaavan positiivisen luvun kahden komplementti
Digitaalitekniikan matematiikka Luku 9 Sivu 4 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Kahden komplementin muodostaminen Aloitetaan vähiten merkitsevästä bitistä Jos bitti on =, sitä ei muuteta, vaan siirrytään seuraavaan bittiin Ensimmäinen -bitti säilytetään vielä ennallaan Loput bitit käännetään eli invertoidaan 2 s? 5 Esimerkki : Luku Luku Säilyvät Esimerkki 2: Luku Luku Säilyy Kääntyvät Kääntyvät 2:n 2:n kompl. kompl. 2:n 2:n kompl. kompl.
Digitaalitekniikan matematiikka Luku 9 Sivu 5 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Kahden komplementin kahden komplementti Komplementoimalla komplementti saadaan alkuperäinen luku uudelleen Jos tiedetään luvun kahden komplementti, alkuperäinen luku saadaan komplementoimalla se
Digitaalitekniikan matematiikka Luku 9 Sivu 6 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Muunnokset etumerkki-itseisarvoesityksen ja kahden komplementtiesityksen välillä Positiiviset luvut samoja säilyy ennallaan Negatiiviset luvut erilaisia merkkibitti aina suuruusosa muunnetaan muodostamalla sen kahden komplementti muunnos on samanlainen kumpaankin suuntaan Esimerkki: Muunna etumerkki-itseisarvomuotoiset binaariluvut A ja B kahden komplementtimuotoon ja kääntäen? 6 Etumerkki- Kahden itseisarvo komplementti A = B = Positiivinen - säilyy ennallaan Negatiivinen - suuruusosa komplementoidaan
Digitaalitekniikan matematiikka Luku 9 Sivu 7 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Binaarilukujen esitys eri esitystavoissa Desimaali- Etumerkki- Kahden luku luku itseisarvo komplementti + 7 + 6 + 5 + 4 + 3 + 2 + + -- -- -- -- 2 -- 3 -- 4 -- 5 -- 6 -- 7 -- 8 -- ± 2 s
Digitaalitekniikan matematiikka Luku 9 Sivu 8 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Binaarilukujen sananpituuden muuttaminen Usein digitaalilaitteissa käytetään useaa eri sananpituutta lukujen esittämiseen, esimerkiksi integer: 32-bittinen kahden komplementtimuotoinen kokonaisluku short: 6-bittinen kahden komplementtimuotoinen kokonaisluku long: 64-bittinen kahden komplementtimuotoinen kokonaisluku Lukuja joudutaan muuttamaan sananpituudesta toiseen Lyhennettäessä luvun pitää mahtua kokonaan lyhyempään sananpituuteen Luvun suuruus ei saa muuttua muunnoksessa Luvun etumerkki ei saa muuttua muunnoksessa 6 32
Digitaalitekniikan matematiikka Luku 9 Sivu 9 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Kahden komplementtimuotoisten positiivisten lukujen sananpituuden muunnos Lyhennys poistetaan alusta nollia eli merkkibittejä Pidennys lisätään alkuun nollia eli merkkibittejä + Merkkibitti Suuruus (+58 ) (+58 ) Merkkibitti Suuruus
Digitaalitekniikan matematiikka Luku 9 Sivu 2 (26) Lukujärjestelmät ja lukujen esittäminen.9.2 Fe Kahden komplementtimuotoisten negatiivisten lukujen sananpituuden muunnos Lyhennys poistetaan alusta ykkösiä eli merkkibittejä Pidennys lisätään alkuun ykkösiä eli merkkibittejä Merkkibitti Suuruus? 7 (-58 ) (-58 ) Merkkibitti Suuruus
Digitaalitekniikan matematiikka Luku Sivu 3 (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Lukujärjestelmämuunnokset Ihminen haluaa antaa syöttötiedot kymmenjärjestelmässä Tietokone käsittelee parhaiten binaarilukuja tarvitaan muunnos -järjestelmästä 2-järjestelmään Tietokone laskee tulokset binaarilukuina Ihminen haluaa tulostiedot kymmenjärjestelmän lukuina tarvitaan muunnos 2-järjestelmästä -järjestelmään Suunnittelija ja ohjelmoija tarvitsevat muitakin muunnoksia -järjestelmä 6-järjestelmä 6-järjestelmä -järjestelmä 2-järjestelmä 6-järjestelmä 6-järjestelmä 2-järjestelmä 2-järjestelmä 8-järjestelmä 8-järjestelmä 2-järjestelmä merkkikoodien esitys, muistipaikkojen numerot jne. havainnollisuus, lyhyt esitys bittitason signaalien tarkastelu joissain järjestelmissä käytetään oktaalilukuja 2
Digitaalitekniikan matematiikka Luku Sivu 4 (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Etumerkittömän luvun muunnos muusta järjestelmästä kymmenjärjestelmään Käytetään esityksen määrittelyn summakaavaa Tehdään laskutoimitus kymmenjärjestelmässä Kätevä tehdä esimerkiksi laskimella k Esimerkiksi muunnos kaksijärjestelmästä kymmenjärjestelmään: Luku on B n B n- B 2 B B Käytetään summakaavaa: 2 B = B n 2 n + B n - 2 n - + + B 2 2 2 + B 2 + B 2 Esimerkki: 2 = 2 2 4 + 2 2 3 + 2 2 2 + 2 2 + 2 2 = 2 2
Digitaalitekniikan matematiikka Luku Sivu 5 (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Etumerkittömän luvun muunnos kymmenjärjestelmästä muuhun järjestelmään Muunnetaan kokonaisosa Muunnetaan murto-osa (tätä emme käsittele) Yhdistetään tulokset k Kokonaisosan muunnosalgoritmi jaetaan muunnettavaa lukua jatkuvasti muun järjestelmän kantaluvulla erotetaan jakojäännökset jatketaan, kunnes osamäärä on nolla :k muunnostulos saadaan jakojäännöksistä
Digitaalitekniikan matematiikka Luku Sivu 6 (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Muunnos -järj:stä 2-järjestelmään Esimerkki: muunna 27 kaksijärjestelmään. Esityspituus on 6 bittiä.? Muunnos: Jakolaskut Tulokset Jakojäännökset 27/2 = 3 + /2 (lsb) 3/2 = 5 + /2 5/2 = 25 + /2 25/2 = 2 + /2 2/2 = 6 + /2 6/2 = 3 + /2 3/2 = + /2 /2 = + /2 (msb) Viimeinen (vähiten merkitsevä) bitti saadaan ensin 2 Saadaan 27 = 2 Joten 6-bittisenä: 27 = 2
Digitaalitekniikan matematiikka Luku Sivu 9 (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Muunnos kymmenjärjestelmän luvusta kahden komplementtimuotoiseksi luvuksi Luvun suuruusosa (itseisarvo) muunnetaan binaariluvuksi kuten edellä Täydennetään tarvittaessa käytettävään sananpituuteen lisäämällä nollia alkuun Jos luku on positiivinen merkkibitiksi 2 s suuruusosa sellaisenaan merkkibitin perään Jos luku on negatiivinen ensin muunnetaan vastaava positiivinen luku muodostetaan saadun binaariluvun vastaluku eli kahden komplementti
Digitaalitekniikan matematiikka Luku Sivu (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Muunnos kymmenjärjestelmän luvusta kahden komplementtimuotoiseksi luvuksi, esimerkki? 4 Muunna kymmenjärjestelmän luku -3 kahden komplementtimuotoiseksi 6-bittiseksi binaariluvuksi. Muunnetaan itseisarvo 3 jatkuvan kahdella jakamisen algoritmilla binaariluvuksi. Saadaan 3 = 2 Täydennetään 6-bittiseksi: 2 = 2 Luku on negatiivinen positiivisen binaariluvun vastaluku eli kahden komplementti -3 = 2 (kahden komplementtimuoto)
Digitaalitekniikan matematiikka Luku Sivu (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Muunnos kahden komplementtimuotoisesta luvusta kymmenjärjestelmän luvuksi Jos luku on negatiivinen (merkkibitti = ), muodostetaan vastaava positiivinen luku eli kahden komplementti Muunnetaan kymmenjärjestelmän luvuksi määritelmän mukaan summakaavalla B = B n 2 n + B n - 2 n - + + B 2 2 2 + B 2 + B 2 Jos alkuperäinen binaariluku oli negatiivinen, laitetaan saadun luvun eteen miinusmerkki. Toinen tapa: käytetään suoraan summakaavaa, mutta otetaan merkkibitti mukaan miinusmerkkisenä B = -B n+ 2 n+ + B n 2 n + B n - 2 n - + + B 2 2 2 + B 2 + B 2
Digitaalitekniikan matematiikka Luku Sivu 2 (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Muunnos kahden komplementtimuotoisesta luvusta kymmenjärjestelmän luvuksi, esimerkkejä Muunna kahden komplementtimuotoiset binaariluvut A = ja B = kymmenjärjestelmään.? 5 A = 2 (positiivinen, suora suoramuunnos summakaavalla) = + ( ( 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 + 2 )) = + (64 (64 + 32 32 + 2 + ) ) = +99 +99 B = 2 (negatiivinen, kahden kahdenkomplementtimuotoinen) -B -B = 2 (kahden komplementti = vastaava positiivinen binaariluku) = ( ( 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 + 2 = 64 64 + 8 + 4 = 76 76 Joten JotenB = -76-76 B:n B:nsuora suoramuunnos: B = 2 (negatiivinen, kahden kahdenkomplementtimuotoinen) = - - 2 7 + 2 6 + 2 5 + 2 4 + 2 3 + 2 2 + 2 + 2 = -28-28 + 32 32 + 6 6 + 4 = -76-76
Digitaalitekniikan matematiikka Luku Sivu 3 (4) Lukujärjestelmämuunnokset 2..24 Fe/AKo Muunnokset 2-, 8- ja 6-järjestelmien välillä? 6 Koska 8 = 2 3 ja 6 = 2 4, muunnokset ovat helppoja ja tehdään bittejä ryhmittelemällä ja muuntamalla kukin ryhmä erikseen Tarvittaessa etumerkittömän binaariluvun alkuun lisätään nollia ja kahden komplementtimuotoisen luvun alkuun merkkibittejä Esimerkki: Muunna 6-bittinen etumerkitön binaariluku oktaaliluvuksi ja heksadesimaaliluvuksi Lisätään nollat Oktaaliluvuksi: 2222222222 3442 2 8 Heksaluvuksi: 222222 B- 9 A Muunnokset oktaali- ja heksadesimaalilukujen välillä tehdään binaarilukujen kautta 8 2 6 ja 6 2 8 2 6
Digitaalitekniikan matematiikka Luku Sivu 3 (2) Laskutoimitukset binaariluvuilla.9.2 Fe Laskutoimitukset yksibittisillä binaariluvuilla Periaatteessa kuten kymmenjärjestelmän numeroilla Laskutaulukot: 2 + - Yhteenlasku P + Q Vähennyslasku P - Q Kertolasku P Q P Q C S P Q B D P Q PR PR S=D Muistibitti (carry bit) Muistibitti (borrow bit)
Digitaalitekniikan matematiikka Luku Sivu 5 (2) Laskutoimitukset binaariluvuilla.9.2 Fe Monibittisten binaarilukujen yhteen- ja vähennyslasku Monibittisillä luvuilla tuleva muistibitti on otettava huomioon Bittipositiossa i laskennassa ovat mukana yhteenlaskettavien tai vähennettävien bitit P i ja Q i tuleva muistibitti C i tai B i summabitti S i tai erotusbitti D i lähtevä muistibitti C i+ tai B i+ C tai B P Q S tai D Summa P i + Q i + C i Erotus P i - Q i - B i + P i Q i i C i i C i i+ S i+ i i P i Q i i B i i B i i+ D i+ i i - S i = D i
Digitaalitekniikan matematiikka Luku Sivu (2) Laskutoimitukset binaariluvuilla.9.2 Fe? Laskutoimituksia etumerkittömillä binaariluvuilla 2 Yhteenlasku Ylivuoto, väärä tulos Muistibitti P Q + Summa Muistibitti P Q + Summa Muistibitti P Q + Summa + Vähennyslasku Ylivuoto, väärä tulos Muistibitti P Q - Erotus - Muistibitti P Q - Erotus Muistibitti P Q - Erotus Kertolasku P Q Osatulot Tulo P Q Osatulot Tulo
Digitaalitekniikan matematiikka Luku Sivu 3 (2) Laskutoimitukset binaariluvuilla.9.2 Fe? 2 Kahden komplementtimuotoisten binaarilukujen yhteenlasku Yksinkertainen algoritmi laske luvut merkkibitteineen yhteen unohda merkkibiteistä muodostunut muistibitti Esimerkkejä: 2 s P ja Q positiivisia, samoin S C P Q + S P negatiivinen, Q positiivinen, S positiivinen C P Q + S P negatiivinen, Q negatiivinen, S positiivinen! Ylivuoto! C P Q + S Eri arvo
Digitaalitekniikan matematiikka Luku Sivu 4 (2) Laskutoimitukset binaariluvuilla.9.2 Fe Kahden komplementtimuotoisten binaarilukujen vähennyslasku Tehdään vastaluvun yhteenlaskuna: P - Q = P + (-Q) Kahden komplementtimuodossa esitetyn luvun vastaluku saadaan komplementoimalla luku merkkibitteineen P - Q = P + (-Q) -Q = kompl (Q)
Digitaalitekniikan matematiikka Luku Sivu 5 (2) Laskutoimitukset binaariluvuilla.9.2 Fe Kahden komplementtimuotoisten binaarilukujen vähennyslasku? 3 Esimerkki: P, Q ja R ovat kahden komplementtimuotoisia lukuja, P =, Q =, R = Laske P - Q, P - R ja Q - R Muodostetaan ensin komplementoimalla -Q ja -R. Q = -Q = R = -R = Merkkibitti mukaan komplementointiin 2 s C P -Q + S P positiivinen, -Q negatiivinen, S positiivinen C P -R + S P positiivinen, -R positiivinen, S negatiivinen! Ylivuoto! C Q -R + S Q positiivinen, -R positiivinen, S positiivinen