811120P Diskreetit rakenteet

Samankaltaiset tiedostot
Diskreetit rakenteet. Juha Kortelainen

811120P Diskreetit rakenteet

Diskreetit rakenteet P 5 op

Palautteita. Tutoriaalit olivat vaikeat! Totta, tentti on onneksi helpompi

Lukujärjestelmät. Digitaalitekniikan matematiikka Luku 9 Sivu 3 (26) Lukujärjestelmät ja lukujen esittäminen Fe

1 Peruslaskuvalmiudet

ANSI/IEEE Std

5. Laskutoimitukset eri lukujärjestelmissä

Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut.

SISÄLLYS - DIGITAALITEKNIIKKA

Merkitse kertolasku potenssin avulla ja laske sen arvo.

Ohjelmoijan binaarialgebra ja heksaluvut

Tietokonearitmetiikka

Tietokonearitmetiikka

811120P Diskreetit rakenteet

C = P Q S = P Q + P Q = P Q. Laskutoimitukset binaariluvuilla P -- Q = P + (-Q) (-Q) P Q C in. C out

Tietokonearitmetiikka

Kappale 20: Kantaluvut

8.1 Murtoluvun määritelmä - murtoluvulla tarkoitetaan aina osaa (osia) jostakin kokonaisuudesta

Tietokonearitmetiikka

Digitaalitekniikan matematiikka Luku 10 Sivu 1 (14) Lukujärjestelmämuunnokset. 2 s s

811120P Diskreetit rakenteet

Huom! (5 4 ) Luetaan viisi potenssiin neljä tai viisi neljänteen. 7.1 Potenssin määritelmä

Liukulukulaskenta. Pekka Hotokka

LUKUTEORIA johdantoa

7. Laskutoimitukset eri lukujärjestelmissä 1 / 31

TIES325 Tietokonejärjestelmä. Jani Kurhinen Jyväskylän yliopisto Tietotekniikan laitos

Jäännösluokat. Alkupala Aiemmin on tullut sana jäännösluokka vastaan. Tarkastellaan

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

Testaa taitosi 1: Lauseen totuusarvo

Kokonaisluvut. eivät ole kokonaislukuja!

2.2 Neliöjuuri ja sitä koskevat laskusäännöt

Numeeriset menetelmät

a) Tutki algoritmin toimintaa syötteellä b) Listaa algoritmin kaikki mahdolliset tulosteet.

1. Kirjoita algoritmi, joka saa syötteenä pallon säteen ja tulostaa pallon tilavuuden.

811120P Diskreetit rakenteet

Reaaliluvut 1/7 Sisältö ESITIEDOT:

Harjoitustehtävien ratkaisut. Joukko-opin harjoituksia. MAB1: Luvut ja lukujoukot 2

811120P Diskreetit rakenteet

Jokainen kokonaisluku n voidaan esittää muodossa (missä d on positiivinen kok.luku) Tässä q ja r ovat kokonaislukuja ja 0 r < d.

1. Mikä on lukujen 10, 9, 8,..., 9, 10 summa? 2. Mikä on lukujen 10, 9, 8,..., 9, 10 tulo? =?

1 Lukujen jaollisuudesta

PUHUTAAN NUMEROILLA Murtoluvut Desimaaliluvut tai

3. Kirjoita seuraavat joukot luettelemalla niiden alkiot, jos mahdollista. Onko jokin joukoista tyhjä joukko?

a b 1 c b n c n

Desimaaliluvut, mitä ne oikeastaan ovat?

2 j =

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

1.1. RATIONAALILUVUN NELIÖ

802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita

NELIÖJUURI. Neliöjuuren laskusääntöjä

LUKUJÄRJESTELMÄT. Kymmenjärjestelmä eli desimaalijärjestelmä. Binäärilukujärjestelmä

c) 22a 21b x + a 2 3a x 1 = a,

Funktiot ja raja-arvo P, 5op

Johdatus matemaattiseen päättelyyn

R1 Harjoitustehtävien ratkaisut

Talousmatematiikan perusteet, L2 Kertaus Aiheet

MS-A0402 Diskreetin matematiikan perusteet

Digitaalitekniikan matematiikka Harjoitustehtäviä

1 Numeroista lukuja 1.

Johdatus matematiikkaan

Aloitustunti MAA22 Starttikurssi pitkän matematiikan opiskeluun

Talousmatematiikan perusteet, L2 Kertaus Aiheet

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

Juuri 11 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

MAY01 Lukion matematiikka 1

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukko oppi aksiomaattisesti.

Johdatus lukuteoriaan Harjoitus 11 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

1. Muutamia erityisongelmia murtolukujen käsitteen oppimisessa

Johdatus matematiikkaan

Neure - tehtäväluettelo 1 / , 17:05

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Ratkaisut Summa on nolla, sillä luvut muodostavat vastalukuparit: ( 10) + 10 = 0, ( 9) + 9 = 0,...

Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (3)

Luento 6 Tiedon esitysmuodot

y z = (x, y) Kuva 1: Euklidinen taso R 2

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

KOMPLEKSILUVUT C. Rationaaliluvut Q. Irrationaaliluvut

Reaalilukuvälit, leikkaus ja unioni (1/2)

Valitse kuusi tehtävää! Kaikki tehtävät ovat 6 pisteen arvoisia.

PERUSKOULUSTA PITKÄLLE

8 Joukoista. 8.1 Määritelmiä

a) Mitkä seuraavista ovat samassa ekvivalenssiluokassa kuin (3, 8), eli kuuluvat joukkoon

Seguinin lauta A: 11-19

Algoritmit 1. Demot Timo Männikkö

Tiedon esitysmuodot. Luento 6 (verkkoluento 6) Lukujärjestelmät Kokonaisluvut, liukuluvut Merkit, merkkijonot Äänet, kuvat, muu tieto

Teema 4. Homomorfismeista Ihanne ja tekijärengas. Teema 4 1 / 32

Luento 6 Tiedon esitysmuodot. Lukujärjestelmät Kokonaisluvut Liukuluvut Merkit, merkkijonot Totuusarvot Kuvat, äänet, hajut(?)

Luento 6 Tiedon esitysmuodot

Luento 6 Tiedon esitysmuodot

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

Luento 6 Tiedon esitysmuodot. Tiedon esitys laitteistossa (3)

Joukot. Georg Cantor ( )

Suurin yhteinen tekijä (s.y.t.) ja pienin yhteinen monikerta (p.y.m.)

Tietorakenteet (syksy 2013)

Lukuteorian kertausta

Transkriptio:

811120P Diskreetit rakenteet 2016-2017 2. Lukujen esittäminen ja aritmetiikka

2.1 Kantajärjestelmät ja lukujen esittäminen Käytettävät lukujoukot: Luonnolliset luvut IN = {0,1,2,3,... } Positiiviset kokonaisluvut IN + = {1,2,3,... } Kokonaisluvut Z = {...,-3,-2,-1,0,1,2,3,...} Rationaaliluvut Q Reaaliluvut IR x P(x) x P(x) Rationaaliluku muotoa p /q, missä p Z ja q IN + Reaaliluvut kymmenjärjestelmässä numerojonona joukosta {0,1,2,..., 9}, negatiivisen luvun edessä miinusmerkki, desimaalipilkku tarvittaessa Irrationaaliluku on reaaliluku, joka ei ole rationaaliluku 811120P Diskreetit rakenteet, Lukujen esittäminen 2

2.1.1 Kymmenjärjestelmä Kymmenjärjestelmä paikkaan perustuva, kantaluku 10 Jokaisella jonon numerolla paikka-arvo:..., 10 3, 10 2, 10 1, 10 0 =1,.,10-1, 10-2, 10-3,... Desimaaliluvun arvo: kerrotaan kukin numero paikkaarvollaan ja lasketaan saadut luvut yhteen 2386.75 = 2 10 3 + 3 10 2 + 8 10 1 + 6 10 0 + 7 10-1 + 5 10-2 Oikeaa puolta sanotaan luvun 2386.75 laajennetuksi esitykseksi 811120P Diskreetit rakenteet, Lukujen esittäminen 3

2.1.2 Binaarijärjestelmä Luonnollisin kantajärjestelmä tietokoneissa (tietokoneissa data muodossa, jota helppo merkitä symbolein 0 ja 1) Kantaluku 2, numerot joukosta {0,1} 1101.01 2 = 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 0 2-1 + 1 2-2 = 8+4+1+0.25 = 13.25 10 Muunnos 10-järjestelmään helppo laskemalla auki Miten muunnos toisinpäin? Kokonaisluvun viimeinen bitti 0, jos luku parillinen ja 1, jos luku pariton -> Algoritmi: Lasketaan toistuvasti jakojäännös 2:n suhteen ja jaetaan luku kahdella 811120P Diskreetit rakenteet, Lukujen esittäminen 4

2.1.2 Binaarijärjestelmä (2) Algoritmi luonnollisen luvun muuntamiseksi binaarijärjestelmään n mod 2 jakojäännös jaettaessa kahdella n div 2 kokonaisosa jaettaessa kahdella Input: Luonnollinen luku n Output: Luvun n binaariesitys lopusta alkuun tulostettuna MUUNNA_BIN(n) 1. do 2. print n mod 2 3. n = n div 2 4. while n!=0 811120P Diskreetit rakenteet, Lukujen esittäminen 5

2.1.2 Binaarijärjestelmä (3) Miten muunnetaan desimaaliluvun murto-osa? Jos desimaaliluvun murto-osa on alle 0.5, niin binaariesitys alkaa 0.0, muuten se alkaa 0.1 Näin saadaan algoritmi: Kerrotaan murto-osaa toistuvasti kahdella. Jos syntyy kokonaisosa, poistetaan se ja merkitään esitykseen 1, muuten esitykseen 0. Merkintöjä: x on reaaliluvun x kokonaisosa ( 2.7 =2) frac(x) on reaaliluvun x murto-osa (frac(2.7)=0.7) 811120P Diskreetit rakenteet, Lukujen esittäminen 6

2.1.2 Binaarijärjestelmä (4) Algoritmi: desimaaliluvun murto-osa binaarijärjestelmään Input: Murto-osa x, numeroiden lukumäärä d Output: Luvun x binaariesitys tulostettuna MUUNNA_MURTO_BIN(x,d) 1. print 0. 2. i = 0 3. do 4. i = i+1 5. y = 2*x 6. print y 7. x = frac(y) 8. while (x!=0 and i!=d) 811120P Diskreetit rakenteet, Lukujen esittäminen 7

2.1.2 Binaarijärjestelmä (4) Tehtävä: Muunna kymmenjärjestelmän luku 122.284 binaarijärjestelmään niin, että desimaalipisteen jälkeen tulee kuusi numeroa Vastaus: 1111010.010010 811120P Diskreetit rakenteet, Lukujen esittäminen 8

2.1.2 Oktaali- ja heksadesimaalijärjestelmät x P(x) x P(x) Oktaalijärjestelmässä kantaluku 8 -> Luvut esitetään numeroilla {0,1,,7} Heksadesimaalijärjestelmässä kantaluku 16 -> Luvut esitetään numeroilla {0,1,,9,A,B,C,D,E,F} Kumpikin usein käytössä tietotekniikassa Algoritmit desimaalijärjestelmästä muuntamiseksi samankaltaiset kuin binaarimuunnos: kantaluku 2 korvataan 8:lla tai 16:lla Binaariluvun muuntaminen 8- tai 16-järjestelmään suoraviivaista 811120P Diskreetit rakenteet, Lukujen esittäminen 9

2.1.2 Oktaali- ja heksadesimaalijärjestelmät x P(x) x P(x) Tehtävä 1: Muunna luvut 752.15 8 ja B19.A3 16 binäärijärjestelmään Vastaus: 111101010.001101 ja 101100011001.10100011 Tehtävä 2: Muunna luku 1001001010.10011 2 sekä oktaali- että heksadesimaalijärjestelmään Vastaus: 1112.46 8 ja 24A.98 16 Tehtävä 3: Muunna kymmenjärjestelmän luku 122.284 sekä oktaali- että heksadesimaalijärjestelmään niin, että desimaalipisteen jälkeen tulee kolme numeroa Vastaus: 172.221 8 ja 7A.48B 16 811120P Diskreetit rakenteet, Lukujen esittäminen 10

2.1.3 Merkitsevät numerot Desimaaliluvuilla ilmaistaan reaalilukuja ja niiden likiarvoja Merkitsevien numeroiden määrä ilmaisee tarkkuuden Sääntö merkitsevien numeroiden määrälle: 1. Desimaaliluvun alussa olevia nollia ei lasketa merkitseviksi numeroiksi; 2. ilman desimaalipilkkua esitetyn luvun lopussa olevia nollia ei lasketa merkitseviksi numeroiksi; 3. kaikki muut luvussa esiintyvät numerot ovat merkitseviä. 811120P Diskreetit rakenteet, Lukujen esittäminen 11

2.1.3 Merkitsevät numerot (2) Esimerkkejä: Luku 75000; kaksi merkitsevää numeroa Luku 0.002340; neljä merkitsevää numeroa Luku 12.0076; kuusi merkitsevää numeroa 811120P Diskreetit rakenteet, Lukujen esittäminen 12

2.2 Lukujen tietokone-esitys Luvut tietokoneessa kiinteänpituisina bittijonoina Kokonaislukuja käsitellään eri tavalla kuin muita reaalilukuja -> käsitellään erikseen Kokonaisluvut tallennetaan tavuina Tavu koostuu kahdeksasta bitistä Tässä tarkastellaan kaksitavuisia kokonaislukuja, periaatteet täysin samat kuin useampitavuisissa tapauksissa Useimmin tietokoneohjelmissa kokonaisluku 32- tai 64-bittinen 811120P Diskreetit rakenteet, Lukujen esittäminen 13

2.2.1 Etumerkillisten kokonaislukujen esittäminen 16-bittisiä lukuja 2 16 = 65536 kappaletta -> etumerkillisinä esitetään luvut -32768.. 32767 Positiiviset luvut esitetään siten, että ylin bitti on 0 ja 15 alinta bittiä antaa luvun Negatiivisissa luvuissa ylin bitti on 1 Negatiiviset luvut esitetään ns. kakkosen komplementtina: kun -32768 n < 0, ylin bitti 1 ja 15 alinta (ei-negatiivisen) luvun n+ 2 15 = n+ 32768 binaariesitys 811120P Diskreetit rakenteet, Lukujen esittäminen 14

2.2.1 Etumerkillisten kokonaislukujen esittäminen (2) 811120P Diskreetit rakenteet, Lukujen esittäminen 15

2.2.1.1 Kakkosen komplementin muodostaminen Olkoon x luvun (16-bittinen) binaariesitys. Alkuun lisätään tarvittaessa nollabitit Tapa 1: 1. Haetaan luvun x oikeanpuolimmaisin ykkönen, joka säilyy ykkösenä 2. Em. ykkösen oikeanpuoleiset nollat säilyvät nollina 3. Kohdan 1 ykkösen vasemmanpuoleiset bitit käännetään (nolla ykköseksi ja ykkönen nollaksi) Tapa 2: Käännetään luvun x kaikki bitit (ns. ykkösen komplementti) ja lisätään saatuun lukuun 1 811120P Diskreetit rakenteet, Lukujen esittäminen 16

Tehtäviä Muodosta seuraavien kokonaislukujen 16-bittinen tietokone-esitys. Negatiivisten lukujen tapauksessa etsi kakkosen komplementti kahdella eri tavalla 2987-9800 -23120 Muodosta kokonaisluvun -9800 32-bittinen tietokoneesitys 811120P Diskreetit rakenteet, Lukujen esittäminen 17

2.2.1.2 Kokonaislukuaritmetiikka tietokoneessa Tarkastellaan laskutoimitusta x+y, kun x ja y ovat 16- bittisiä kokonaislukuja {-32768,..., 32767} Ongelma: kahden positiivisen luvun binaarisummassa voi ylin bitti olla 1 -> tulkitaan negatiiviseksi Esim. 16384 10 +16384 10 = 010 0 2 + 010 0 2 = 100 0 2 = -32768 10 Ongelma 2: kahden negatiivisen luvun binaarisummassa syntyy ylivuotobitti -> kun pudotetaan, summa voidaan tulkita positiiviseksi Esim. -32767 10 + (-32767) 10 = 100 01 2 + 100 01 2 = 00 10 2 = 2 10 (kun ylivuotobitti pudotettu) 811120P Diskreetit rakenteet, Lukujen esittäminen 18

2.2.1.2 Kokonaislukuaritmetiikka tietokoneessa (2) Havaitaan: Kun x ja y ovat 16-bittisiä kokonaislukuja {-32768,..., 32767} sekä x+y {-32768,..., 32767}, niin yhteenlasku antaa oikean tuloksen kun ylivuotobitti pudotetaan Tehtävä. Suorita seuraavat 16-bittisten kokonaislukujen laskutoimitukset kuten tietokoneessa: 12000 5200, 2500 5200. Tarkista, onko lopputulos oikea. 811120P Diskreetit rakenteet, Lukujen esittäminen 19

2.2.2 Reaalilukujen esittäminen tietokoneessa Mutkikkaampaa kuin kokonaislukujen esittäminen Tavallinen desimaaliesitys soveltuu huonosti tietokoneessa käytettäväksi Perustuu eksponentiaaliseen merkintään: käytetään muotoa a 10 e, missä a (0,1) ja e on kokonaisluku Esim. 0.1234 10 6 = 123400, 0.234 10-3 = 0.000234 Terminologiaa: luvussa 0.5976 10 25 0.5976 on signifikantti (eli mantissa) 10 on kanta(luku) 25 on eksponentti jos signifikantti välillä [0.1,1), esitys normaalimuodossa 811120P Diskreetit rakenteet, Lukujen esittäminen 20

2.2.2 Reaalilukujen esittäminen tietokoneessa (2) Useimmiten 32- tai 64-bittinen esitys Esitetään useimmiten IEEE:n standardilla 754 Muunnetaan luku normaalimuotoiseen binaariseen eksponettimuotoon Kiinteä määrä bittejä esitykseen Ensimmäinen bitti etumerkkibitti (1 tarkoittaa negatiivista lukua) Seuraavaksi sovittu määrä bittejä määräämään eksponentti Loput bitit signifikantille 32-bittisessä esityksessä 8 bittiä eksponenttia varten ja 23 bittiä signifikantille 811120P Diskreetit rakenteet, Lukujen esittäminen 21

2.2.2 Reaalilukujen esittäminen tietokoneessa (3) Jotta voitaisiin esittää itseisarvoltaan hyvin pieniä lukuja, on sallittava negatiiviset eksponentit -> lukuun tallennetaan karakteristika = eksponentti + eksponenttipoikkeama 32-bittisissä luvuissa eksponenttipoikkeama = 2 7-1 = 127 Esim. Mitä reaalilukua vastaa 32-bittinen esitys 11000010011110100000000000000000? em karakteristika signifikantti Vastaus: -30.5 811120P Diskreetit rakenteet, Lukujen esittäminen 22

2.2.2.1 Reaaliluvun muuntaminen tietokoneesitykseksi Muuta luku binaarimuotoon Signifikanttiin varattujen bittien lukumäärän sallimalla tarkkuudella Esitä binaariluku normeeratussa binaarisessa eksponenttimuodossa Laske karakteristika käyttäen eksponenttipoikkeamaa Kirjoita tietokone-esitys 1. bitti on etumerkkibitti, tämän jälkeen karakteristikan bittijono, viimeisenä signifikantti Tehtävä: Etsi luvun 1250.15625 32-bittinen tietokoneesitys (Vastaus: 01000101010011100010001010000000) 811120P Diskreetit rakenteet, Lukujen esittäminen 23

2.2.2.2 Tietokoneella esitettävien reaalilukujen koko Tarkastellaan 32-bittistä esitystä Karakteristika voi saada arvoja 0:sta lukuun 2 8-1 = 255 -> Koska eksponenttipoikkeama = 127, voi eksponentti saada arvoja -127,,128 Signifikantti vaihtelee luvusta 0.1 2 lukuun 1 2 -> ne positiiviset luvut, joita tietokone voi esittää, tulevat välille [0.1 2 2-127, 1 2 2 128 ) Vastaavasti negatiiviset luvut välille (-1 2 2 128, -0.1 2 2-127 ] 811120P Diskreetit rakenteet, Lukujen esittäminen 24

2.2.2.3 Reaalilukuaritmetiikka tietokoneessa x P(x) x P(x) Reaalilukujen tietokone-esitysten aritmetiikka hankalaa suorittaa käsin Tarkastellaan, miten aritmeettisia operaatioita suoritetaan normalisoidussa eksponenttimuodossa olevilla reaaliluvuilla -> saadaan yleiskuva siitä miten tietokone suorittaa reaalilukuaritmetiikkaa 811120P Diskreetit rakenteet, Lukujen esittäminen 25

2.2.2.3.1 Yhteen- ja vähennyslasku 1. Kirjoitetaan luvut eksponenttimuodossa yhteistä eksponenttia käyttäen siten, että signifikantti on pienempi kuin yksi. 2. Lasketaan signifikantit yhteen; saadaan summan signifikantti; yhteinen eksponentti on vastauksen eksponentti. Vähennyslaskussa lasketaan signifikanttien erotus 3. Normalisoidaan tulos tarvittaessa. 811120P Diskreetit rakenteet, Lukujen esittäminen 26

2.2.2.3.2 Kertolasku 1. Kerrotaan signifikantit; saadaan tulon signifikantti. 2. Lasketaan eksponentit yhteen; saadaan tulon eksponentti. 3. Normalisoidaan vastaus tarvittaessa. 811120P Diskreetit rakenteet, Lukujen esittäminen 27

2.2.2.3.3 Jakolasku 1. Jaetaan signifikantit; saadaan osamäärän signifikantti. 2. Vähennetään jakajan eksponentti jaettavan eksponentista; saadaan tulon osamäärän eksponentti. 3. Normalisoidaan vastaus tarvittaessa. 811120P Diskreetit rakenteet, Lukujen esittäminen 28