Lukujärjestelmät ja lukujen esittäminen

Slides:



Advertisements
Samankaltaiset esitykset
1. Missä vietät joulun useimmiten?. 2. Missä viettäisit joulun mieluiten?
Advertisements

Yleistä Läsnäolovelvollisuus Poissaolojen selvitys Käyttäytyminen
Copyright  Hannu Laine Bittitason-operaatiot Hannu Laine.
Tietokonetekniikka 4 Tieto ja tiedon talletus
1 Ostopaikkakysely Heli Rauman Anu Simonen. 2 Kyselyn toteutus •Riihimäen kotitalouksiin lähetettiin yhteensä 2780 kyselyä •Kotitaloudet valitsimme postinumeroiden.
Analyyttinen geometria MA 04
Virheen havaitseminen ja korjaus
MAA0 LUKUALUEET Luonnolliset luvut N = 0,1,2,3,…
Lausekkeiden sieventäminen
Kappaleiden tilavuus 8m 5m 7cm 5 cm 14cm 6cm 4cm 4cm 3cm 10cm.
NAND I-SOP NOR KOMBINAATIOPIIRIT & 1 & A B A B
Langattomien laitteiden matematiikka 1
2.2. komplementtisääntö ja yhteenlaskusääntö
S Laskennallinen tiede Tentit ja uusinta Arvostelu Kertausta tenttiin Palaute.
Yhdistetty M-ary ASK ja M-ary PSK Timo Mynttinen1 Yhdistetty M-ary ASK ja M-ary PSK Tähän asti on kerrallaan käytetty yksinomaan joko amplitudia, taajuutta.
Elinkeinopoliittinen mittaristo 2014 Pelkosenniemi 1.
1 Senioreiden säästäminen ja maksutavat 2014 SENIOREIDEN SÄÄSTÄMINEN JA MAKSUTAVAT
KERTAUSTA PERUSASTEEN MATEMATIIKASTA Piia junes
Prosenttilaskua, tiivistelmä
Perusopetuksen oppilaat 2014 Generated on :03.
LUKUJÄRJESTELMÄMUUNNOKSET
4. Tietokoneen rakenne ja toiminta
TMA.003 / L3 ( )1 3. Funktioista 3.1. Kuvaus ja funktio Olkoon A ja B ei-tyhjiä joukkoja. Tulojoukon A  B = {(x,y) | x  A, y  B} osajoukko on.
RSA – Julkisen avaimen salakirjoitusmenetelmä Perusteet, algoritmit, hyökkäykset Matti K. Sinisalo, FL.
TyyppimuunnoksettMyn1 Tyyppimuunnokset Joskus kääntäjän on tehtävä itse päätöksiä, jos ohjelmoija ei ole ajatellut yksityiskohtia: int arvo1=10; long arvo2=25;
Elinkeinopoliittinen mittaristo 2014
Markkinointiviestinnän panostusten kehittyminen vuonna 2006 vuoteen 2005 verrattuna SALDO % 43% 33% Kuva 1 Mainosbarometri.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
Konekieli.
Gray BCD UTF-8 ISO 8859 ASCII Unicode ISO (UCS) UCS-2
Tiedon esittäminen.
m0 M7 Maksimitermi Minimitermi Boole A = A A · 0 = 0 SOP De Morgan POS
Opetussuunnitelma, koulun kehittäminen ja arviointi 5op
2) Kuinka monta prosenttia luku a on luvusta b
1 Raha-asioiden suunnitteleminen ja nykyinen rahatilanne Senioritutkimus 2011.
Johdatus digitaalitekniikkaan
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
Aritmeettinen jono jono, jossa seuraava termi saadaan edellisestä lisäämällä sama luku a, a + d, a+2d, a +3d,… Aritmeettisessa jonossa kahden peräkkäisen.
Maitotaito PIENEN VAUVAN PÄIVÄ Maitotaito.
Tiedostomuodot Jussi Talaskivi atk-suunnittelija Jyväskylän yliopisto.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op ALU.
Murtoluvun supistaminen
Digitaalitekniikan matematiikkaTäsmätehtävät Fe Luku 1 ?1?1 Sivu 1Luku 1Sivu 2Opetuskerta 1 ?2?2 ?3?3 ?4?4.
KORIPALLON VIRALLISET PELISÄÄNNÖT 2014
Tietotyypit Tietotyyppi määrittää muuttujan sisältämän datan luonnetta, muistista tarvittavaa tilaa ja sitä, millaisia operaatioita siihen voidaan kohdistaa.
Algoritmi-harjoituksia…
1. Usean muuttujan funktiot
6. Muuttujat ja Java.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
Suomen Lääkäriliitto | Finnish Medical AssociationLääkärit Suomessa | Physicians in Finland Tilastotietoja lääkäreistä ja terveydenhuollosta 2014 Statistics.
1. Missä vietät joulun useimmiten?. 2. Missä viettäisit joulun mieluiten?
Logiikka.
Tietokoneen rakenne matalalla tasolla KYMENLAAKSON AMMATTIKORKEAKOULU Jarkko Ansamäki, kevät 2002.
ELEP-1311 DIGITAALITEKNIIKKA 3 op
Merkistöstandardeista
Tilastollisesti merkitsevä nousu Tilastollisesti merkitsevä lasku Edelliseen aineistoon KMT 2005 verrattuna* KMT Kevät06 puolivuosiaineisto KMT SYKSY05/KEVÄT06.
Visual Basic -ohjelmointi
Liukulukulaskenta. Yleistä liukuluvuista Tarvitaan reaalilukujen esittämiseen tietokoneella  esim. matemaattiset mallit Kaikkia reaalilukuja ei ole mahdollista.
Samankantaisten potenssien kerto- ja jakolasku
Rekisterit ja laskurit
Kiikuista jatkoa.
Lukujärjestelmät ja muunnokset Jorma Kantalukujärjestelmät  Kymmenjärjestelmäkantaluku 10  Binäärijärjestelmäkantaluku 2  Oktaalijärjestelmäkantaluku.
BINÄÄRILUKUJÄRJESTELMÄ
Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö.
Yhden bitin asettaminen Javalla
Liukuluvut.
Tietokoneen toiminnasta ja rakenteesta
Murtoluku Murtoluku on jakolasku, jota ei ole laskettu loppuun asti.
Salvat ja kiikut 1D C1 1D C1 S 1D C1 R 1T C1 1J C1 1K 1J S C1 R 1K
Yhteen- ja vähennyslasku
Esityksen transkriptio:

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

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

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

Kantaluvun esittäminen ja lukutyypit Kantaluvun (base, radix) esittäminen: alaindeksillä luvun perässä: esimerkiksi 101012, 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

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 0 + A-1·k -1 + A-2·k -2 + A-3 ·k -3 + … + A-m ·k -m ? 2 Esimerkkejä: 724,510 = 7·102 + 2·101 + 4·100 + 5·10-1 10101,01B = 1·24 + 0·23 + 1·22 + 0·21 + 1·20 + 0·2-1 + 1·2-2 = 21,2510 0724,5 = 7·82 + 2·81 + 4·80 + 5·8-1 = 468,62510 0xA50BF6 = A·165 + 5·164 + 0·163 + B·162 + F·161 + 6·160 = 1081650210

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

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. 1001 = 910 tavu = 8 bittiä

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, 1111111 ja 11110000 0  00000000, 1  00000001, 100  00000100, 101010  00101010, 1111111  01111111, 11110000  11110000 (ei muutu) ? 3

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

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 · 20 + B-1 · 2-1 + B-2 · 2-2 + B-3 · 2-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 11110000,111 0,1  0000000000,100000, 100,10101  0000000100,101010 11110000,111  0011110000,111000 ? 4

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

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

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

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 0 1 1 0 1 0 0 2:n kompl. 1 0 0 1 1 0 0 Säilyvät Kääntyvät Esimerkki 1: 0110100 Luku 1 0 0 0 1 1 1 2:n kompl. 0 1 1 1 0 0 1 Säilyy Kääntyvät Esimerkki 2: 1000111 ? 5

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

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 = 01100011 01100011 B = 10110010 11001110 Positiivinen - säilyy ennallaan Negatiivinen - suuruusosa komplementoidaan Esimerkki: Muunna etumerkki-itseisarvomuotoiset binaariluvut A ja B kahden komplementtimuotoon ja kääntäen ? 6

Binaarilukujen esitys eri esitystavoissa Desimaali- Etumerkki- Kahden luku itseisarvo komplementti + 7 0111 0111 + 6 0110 0110 + 5 0101 0101 + 4 0100 0100 + 3 0011 0011 + 2 0010 0010 + 1 0001 0001 + 0 0000 0000 - 0 1000 - - 1 1001 1111 - 2 1010 1110 - 3 1011 1101 - 4 1100 1100 - 5 1101 1011 - 6 1110 1010 - 7 1111 1001 - 8 - 1000 ± | | 2’s

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

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

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

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 · 10 -18, -0,10025 · 1036 Liukuvan pilkun luvuilla laskemiseen prosessoreissa on erityinen laskentayksikkö (floating point unit, FPU)

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

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ä  ,

ANSI/IEEE:n liukuvan pilkun lukujen standardi ANSI/IEEE:n standardi 754 ensimmäinen versio vuonna 1985 nykyinen versio 754-2008 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 754-2008  ,

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 + 112 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 + 110 t  , binary 32 binary 64 binary 128 Suurin luku  2128  3,4·1038  21024  1,8·10308  216384  1,2·104932 Itseisarvoltaan pienin tarkka luku ( 0) 2-126  1,2·10-38 2-1022  2,2·10-308 2-16382  3,4·10-4932 Esitystarkkuus 24 b  7 10-j. num. 53 b  16 10-j. num. 113 b  34 10-j. num.

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