Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Lukujärjestelmät ja lukujen esittäminen

Samankaltaiset esitykset


Esitys aiheesta: "Lukujärjestelmät ja lukujen esittäminen"— Esityksen transkriptio:

1 Lukujärjestelmät ja lukujen esittäminen
HTOL Digitaalitekniikan perusteet Luku 8 Sivu 1 (43) Luentokalvoseloste Fe Lukujärjestelmät ja lukujen esittäminen 1997D msb Decimal 8AFFH 2:n komplementti lsb Binary ANSI/IEEE Std 1 1 1 B =  Bi · 2i Hex B Octal

2 Johdanto Tässä luvussa
esitellään kaksi- eli binaarilukujärjestelmä sekä kahdeksan- ja kuusitoistajärjestelmät esitetään etumerkittömien ja etumerkillä varustettujen lukujen esitys digitaalilaitteissa esitetään kokonais- ja kiinteän pilkun binaarilukujen esitys digitaalilaitteissa käsitellään binaarilukujen esitysmuodot, erityisesti kahden komplementtiesitys esitetään luvun muunnos etumerkki-itseisarvoesityksestä kahden komplementtiesitykseen ja kääntäen esitetään kahden komplementtimuotoisen luvun sananpituuden muuttaminen esitetään liukuvan pilkun lukujen esitys digitaalilaitteissa Luvun tavoitteena on oppia tuntemaan digitaalitekniikassa yleisesti käytettävät lukujärjestelmät ja lukujen esitystavat ja -muodot

3 Lukujärjestelmät Kymmen- eli desimaalijärjestelmä: kantaluku 10 perinteisesti käytetty ja tuttu numerot 0, 1, 2, 3, 4, 5, 6, 7, 8 ja 9 10 2 Kaksi- eli binaarijärjestelmä: kantaluku 2 numerot 0 ja 1  luvut ovat pitkiä numeroita nimitetään biteiksi (binary digit) soveltuu hyvin digitaalilaitteisiin asetetaan loogisen signaalin arvot 0 ja 1 vastaamaan bitin arvoja 0 ja 1 8 Kahdeksan- eli oktaalijärjestelmä: kantaluku 8 numerot 0, 1, 2, 3, 4, 5, 6 ja 7 16 Kuusitoista- eli heksadesimaalijärjestelmä: kantaluku 16 yleisessä käytössä digitaalisuunnittelussa ja ohjelmoinnissa kaksijärjestelmää havainnollisempi, luvut ovat lyhyitä numerot 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E ja F

4 Kantaluvun esittäminen ja lukutyypit
Kantaluvun (base, radix) esittäminen: alaindeksillä luvun perässä: esimerkiksi , 1758, 9410, F5C16 kirjaimella luvun perässä: esimerkiksi 10101B, 175Q, 94D, F5CH etuliitteellä: esimerkiksi C-kielessä 0175 = 1758, 94 = 9410, 0xF5C = F5C16 ? 1 unsigned signed 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

5 Etumerkittömien lukujen esittäminen ja tulkinta
Numero Kokonais- ja murto-osan erotin (pilkku tai piste) An Esitystapa: An An -1 … A2 A1 A0 , A-1 A-2 A-3 … A-m An·k n Kantaluku Tulkinta: A = An·k n + An -1·k n -1 + … + A2·k 2 + A1·k 1 + A0·k A-1·k -1 + A-2·k -2 + A-3 ·k -3 + … + A-m ·k -m ? 2 Esimerkkejä: 724,510 = 7· · · ·10-1 10101,01B = 1·24 + 0·23 + 1·22 + 0·21 + 1·20 + 0· ·2-2 = 21,2510 0724,5 = 7·82 + 2·81 + 4·80 + 5·8-1 = 468,62510 0xA50BF6 = A· · ·163 + B·162 + F· ·160 =

6 Etumerkittömiä kokonaislukuja eri järjestelmissä
Heksadesimaali Desimaali Oktaali Binaari 16 1 1 1 1 2 2 2 10 3 3 3 11 10 4 4 4 100 5 5 5 101 6 6 6 110 7 7 7 111 8 8 8 10 1000 9 9 11 1001 A 10 12 1010 B 11 13 1011 2 C 12 14 1100 D 13 15 1101 E 14 16 1110 F 15 17 1111

7 Lukujen esitys digitaalilaitteissa
Kaikki luvut esitetään numeroiden 0 ja 1 avulla Binaariluvuille tämä on helppoa, tarvitaan vain 0 ja 1 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, (12), 16, 32, 64 tai jopa 128 Em. bittimäärä = sananpituus (word length) Tavu (byte, B) = 8 bittiä 1 Esim = 910 tavu = 8 bittiä

8 Etumerkittömät binaarikokonaisluvut
1 Esimerkki: Kahdeksanbittinen etumerkitön kokonaisluku msb lsb Esitystapa: Bn Bn -1 Bn -2 … B2 B1 B0 Eniten merkitsevä bitti (most significant bit) msb Vähiten merkitsevä bitti (least significant bit) lsb 2 Tulkinta: B = Bn · 2n + Bn -1 · 2n -1 + Bn -2 · 2n -2 + … + B2 · 22 + B1 · 21 + B0 · 20 Esimerkkejä: Sananpituus on 8 bittiä. Esitä etumerkittömät kokonaisluvut 0, 1, 100,101010, ja 0  , 1  , 100  ,  ,  ,  (ei muutu) ? 3

9 Etumerkillä varustetut binaarikokonaisluvut
Merkkibitti (sign bit) ilmoittaa luvun etumerkin, yleensä 0 = + ja 1 = - Kahdeksanbittinen positiivinen kokonaisluku 1 Luku = = 8810 Merkkibitti msb lsb Suuruus 1 Merkkibitti Luvun arvo riippuu esitysmuodosta msb lsb 16-bittinen negatiivinen kokonaisluku Suuruus

10 Etumerkittömät kiinteän pilkun binaariluvut
Esitystapa: Bn Bn -1 … B2 B1 B0 , B-1 B-2 B-3 … B-m Eniten merkitsevä bitti (msb) Vähiten merkitsevä bitti (lsb) Binaaripilkku 2 Tulkinta: B = Bn · 2n + Bn -1 · 2n -1 + … + B2 · 22 + B1 · 21 + B0 · B-1 · B-2 · B-3 · … + B-m · 2-m Esimerkkejä: Sananpituus on 16 bittiä ja kokonaisosan pituus 10 bittiä. Esitä etumerkittömät kiinteän pilkun luvut 0,1, 100,10101 ja ,111 0,1  ,100000, 100,10101  ,101010 ,111  ,111000 ? 4

11 Kiinteän pilkun binaarilukujen esitys digitaalilaitteissa
Binaaripilkun paikka valitaan tarpeen mukaan etukäteen pysyvästi valinta tehdään tarvittavan lukualueen perusteella binaaripilkun paikkaa ei merkitä mitenkään 1 Binaaripilkun paikka, sama kaikilla luvuilla msb lsb Etumerkitön kiinteän pilkun luku: Kokonaisosa Murto-osa Merkkibitti 1 Binaaripilkun paikka, sama kaikilla luvuilla msb lsb Etumerkillä varustettu kiinteän pilkun luku: Kokonaisosa Murto-osa

12 Etumerkillä varustettujen binaarilukujen esitysmuodot
± | | Etumerkki-itseisarvoesitys (sign-and-magnitude) tuttu 10-järjestelmästä monimutkaiset yhteen- ja vähennyslaskualgoritmit yksinkertainen kertolaskualgoritmi 1’s Yhden komplementtiesitys (1's complement) harvinainen suhteellisen yksinkertaiset yhteen- ja vähennyslaskualgoritmit ei esitetä tässä opintojaksossa 2’s Kahden komplementtiesitys (2's complement) yleisin esitystapa digitaalilaitteissa erittäin yksinkertaiset yhteen- ja vähennyslaskualgoritmit

13 Positiivisten ja negatiivisten binaarilukujen esitys
Positiivisten lukujen esitys merkkibitti = 0 samanlainen edellä mainituissa esitystavoissa suuruusosa ilmaisee luvun arvon esityksen tulkinta kuten edellä olleissa esimerkeissä + Negatiivisten lukujen esitys merkkibitti = 1 muutoin erilainen eri esitystavoissa etumerkki-itseisarvoesityksessä suuruusosa on luvun itseisarvo kahden komplementtiesityksessä suuruusosa on luvun itseisarvon kahden komplementti

14 Kahden komplementin muodostaminen
Aloitetaan vähiten merkitsevästä bitistä Jos bitti on = 0, sitä ei muuteta, vaan siirrytään seuraavaan bittiin Ensimmäinen 1-bitti säilytetään vielä ennallaan Loput bitit käännetään eli invertoidaan 2’s Luku 2:n kompl Säilyvät Kääntyvät Esimerkki 1: Luku 2:n kompl Säilyy Kääntyvät Esimerkki 2: ? 5

15 Kahden komplementin kahden komplementti
Komplementoimalla komplementti saadaan alkuperäinen luku uudelleen Jos tiedetään luvun kahden komplementti, alkuperäinen luku saadaan komplementoimalla se

16 Muunnokset etumerkki-itseisarvoesityksen ja kahden komplementtiesityksen välillä
Positiiviset luvut samoja  säilyy ennallaan Negatiiviset luvut erilaisia merkkibitti aina 1 suuruusosa muunnetaan muodostamalla sen kahden komplementti muunnos on samanlainen kumpaankin suuntaan Etumerkki- Kahden itseisarvo komplementti A = B = Positiivinen - säilyy ennallaan Negatiivinen - suuruusosa komplementoidaan Esimerkki: Muunna etumerkki-itseisarvomuotoiset binaariluvut A ja B kahden komplementtimuotoon ja kääntäen ? 6

17 Binaarilukujen esitys eri esitystavoissa
Desimaali- Etumerkki- Kahden luku itseisarvo komplementti ± | | 2’s

18 Binaarilukujen sananpituuden muuttaminen
Usein digitaalilaitteissa käytetään useaa eri sananpituutta lukujen esittämiseen, esimerkiksi integer: 32-bittinen kahden komplementtimuotoinen kokonaisluku short: 16-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 16  32

19 Kahden komplementtimuotoisten positiivisten lukujen sananpituuden muunnos
+ Lyhennys poistetaan alusta nollia eli merkkibittejä Pidennys lisätään alkuun nollia eli merkkibittejä 1 Merkkibitti (+5810) Suuruus

20 Kahden komplementtimuotoisten negatiivisten lukujen sananpituuden muunnos
Lyhennys poistetaan alusta ykkösiä eli merkkibittejä Pidennys lisätään alkuun ykkösiä eli merkkibittejä 1 Merkkibitti (-5810) Suuruus ? 7

21 Liukuvan pilkun luvut (liukuluvut)
 , Kiinteän pilkun esityksillä on heikkouksia suppea lukualue kohtuullisilla esityspituuksilla esityspituuden lisääminen yhdellä bitillä vain kaksinkertaistaa lukualueen esityspituuden kasvattaminen kasvattaa myös esitystarkkuutta, mikä usein on tarpeetonta Liukuvan pilkun esityksellä poistetaan nämä heikkoudet käytännössä yleensä riittävän laaja lukualue 32:lla bitillä esityspituuden lisääminen yhdellä bitillä kasvattaa lukualueen toiseen potenssiin Vastaa tekniikassa yleistä tapaa esittää luvut kymmenen potenssien avulla esimerkkejä: 0,54871 · 1026, -7,24685 · , -0,10025 · 1036 Liukuvan pilkun luvuilla laskemiseen prosessoreissa on erityinen laskentayksikkö (floating point unit, FPU)

22 Liukuvan pilkun lukujen esitystapa
 , Käytettävissä oleva bittimäärä jaetaan kolmeen osaan merkkibitti s (sign bit) eksponentti e (exponent, characteristic) mantissa f (fraction, mantissa, argument) Luvun arvo v saadaan yleensä kaavasta v = (-1)s · 2e-b · 1,f eräissä tapauksissa kaavasta v = (-1)s · 2e-b · 0,f Esimerkki: 32-bittisen liukuluvun esitys Significand 8 bittiä 23 bittiä s e f Eksponentti Mantissa Merkkibitti

23 Eksponentti ja mantissa
Eksponentti e esitetään siirretyssä esitysmuodossa (biased) e:stä vähennetään ennen potenssiin korottamista siirre (bias) b b on likimain e:n suurin mahdollinen arvo jaettuna kahdella lukualue saadaan ulottumaan myös itseisarvoltaan ykköstä pienempiin lukuihin Esimerkki: e:lle on varattu 8 bittiä tällöin emax = 255  b = 127 0  e  255  -126  e - b  127 Mantissa esitetään itseisarvomuodossa eikä käytetä kahden komplementtiesitystä  ,

24 ANSI/IEEE:n liukuvan pilkun lukujen standardi
ANSI/IEEE:n standardi 754 ensimmäinen versio vuonna 1985 nykyinen versio Laaja ja yksityiskohtainen Määrittelee esitystavat, muunnokset niiden välillä ja laskutoimitukset Määrittelee erikoislukuarvojen esityksen, esim + ja -  Määrittelee poikkeustilanteet (esim. 0/0) ja niissä annettavat tulokset poikkeustilanteen tulos on usein NaN (Not a Number) Versio 2008 sisältää liukuvan pilkun lukujen esityksen sekä binaarilukuina että kymmenjärjestelmän lukuina Laajassa käytössä tietokoneissa ja mikroprosessorien liukuvan pilkun laskentayksiköissä Tavoitteena on, että eri valmistajien prosessorit ja tietokoneet esittävät liukuvan pilkun luvut ja laskevat niillä täsmälleen samalla tavalla ANSI/IEEE Std  ,

25 ANSI/IEEE:n standardin 754-2008 perusesitystavat
Seitsemän perusesitystapaa kaksi vain lyhyiden lukujen tallentamiseen kolme binaarimuotoista laskemiseen binary32: 32 bittiä: s + 8 e + 23 f binary64: 64 bittiä: s + 11 e + 52 f binary128: 128 bittiä: s + 15 e f kaksi desimaalimuotoista laskemiseen (g- ja t-kentät määrittelevät yhdessä eksponentin ja mantissan) decimal64: 64 bittiä: s + 13 g + 50 t decimal128: 128 bittiä s + 17 g t  , binary 32 binary 64 binary 128 Suurin luku  2128  3,4·   1,8·   1,2·104932 Itseisarvoltaan pienin tarkka luku ( 0)  1,2·  2,2·  3,4· Esitystarkkuus 24 b  7 10-j. num. 53 b  j. num b  j. num.

26 Yhteenveto Digitaalitekniikassa käytetään lukujärjestelmiä, joiden kantaluvut ovat 10, 2, 8 ja 16 Kantaluku voidaan esittää joko alaindeksillä, kirjaimella luvun perässä tai etuliitteellä Binaariluvut esitetään digitaalilaitteissa määrämittaisissa rekistereissä kokonais-, kiinteän pilkun tai liukuvan pilkun lukuina etumerkittöminä tai etumerkillä varustettuina lukuina etumerkki-itseisarvo- tai komplementtiesitystä käyttäen Yleisin binaarilukujen esitysmuoto on kahden komplementtiesitys Siinä lukujen yhteen- ja vähennyslasku on erittäin yksinkertainen Muunnos etumerkki-itseisarvoesityksen ja kahden komplementtiesityksen välillä on yksinkertainen Kahden komplementtimuotoisen luvun sananpituutta voidaan muuttaa Liukuvan pilkun esityksellä voidaan esittää hyvin laaja lukualue kohtullisella bittimäärällä, yleisin esitys on ANSI/IEEE-standardiesitys


Lataa ppt "Lukujärjestelmät ja lukujen esittäminen"

Samankaltaiset esitykset


Iklan oleh Google