7. Tiedon esittäminen 7.1. Tieto bittimuodossa 7.2. Binääriluvut 7.3. Lukujen esitys 7.4. Muun datan esitys 7.5. Käskyn esittäminen 21/09/2018 Liisa Marttinen kevät 2005
7.1 Tieto bittimuodossa Kaikki tietokoneessa esitettävä tieto on binäärimuodossa eli binääribitteinä 0 ja 1 esitettynä sekä käskyt että käsiteltävä data helppo toteuttaa piireillä helppo suunnitella logiikka Boolen algebran avulla Tieto sijaitsee muistissa, joka on jaettu sanoihin sana 32 bittiä (64 bittiä, 16 bittiä,..) sana koostuu yleensä 8 bitin tavuista 110110100 21/09/2018 Liisa Marttinen kevät 2005
Tiedon tyypit ihmisten kommunikoinnissa laitteiston sisäinen talletus ääntä, kuvaa, merkkejä, .. laitteiston sisäinen talletus erilaisia koodaustapoja: merkeille, kuville, luvuille, äänelle, ohjelmille, … suorittimelle tyyppi on eri tyyppi vain, jos sen käsittelyyn on omat konekäskyt kokonaisluvut ja liukuluvut yleensä kaikissa totuusarvot ja merkit joissakin konekäskyt 21/09/2018 Liisa Marttinen kevät 2005
Tiedon esitys On luotava säännöt tiedon koodaamiselle biteiksi numerot teksti kuvat ja piirrokset ääni, liikkuva kuva Hyvin paljon erilaisia koodausmenetelmiä ongelmia esitysmuotojen ymmärtämisen kanssa 21/09/2018 Liisa Marttinen kevät 2005
tietokonesana: 2, 4 tai 8 tavua bittien numerointi Bittiesitys bitti: 0 tai 1 tavu: 8 bittiä pienin kerrallaan osoitettava tietomäärä tietokonesana: 2, 4 tai 8 tavua kaksoissana bittien numerointi vähiten merkitsevä eli oikeanpuolinen bitti on 0. bitti vähiten merkitsevä eniten merkitsevä bitti 10110001000111 bitti
Tavujen järjestys sanassa tätä ei ole standardoitu! ‘big endian’ alkaa vasemmalta ‘little endian’ alkaa oikealta aiheuttaa ongelmia tiedon siirrossa 1 2 3 4 4 3 2 1 big endian little endian 21/09/2018 Liisa Marttinen kevät 2005
Datan esitys Lausekielisissä ohjelmissa tietoa käsitellään aina muuttujien avulla Muuttujalla on tyyppi esim. kokonaisluku, realiluku, merkki arvo Muuttujan arvo on muistin sanassa (tai sanoissa) binäärimuodossa. Tyyppi määrää bittijonona esitetyn arvon tulkintatavan. 21/09/2018 Liisa Marttinen kevät 2005
32 bitin sana muistissa voi olla esim. 0101001001000101100010101001110 32 bitin kokonaisluku kaksi 16 bitin kokonaislukua neljä ASCII-merkkiä käsky reaaliluku jne. 21/09/2018 Liisa Marttinen kevät 2005
Binäärimuodossa oleva tieto tulkitaan yksinomaan sitä käsittelevän käskyn perusteella. symbolinen konekieli sallii kirjaimiksi tarkoitettujen merkkijonojen yhteenlaskun monet lausekielet tarkastavat, että muuttujaa käytetään vain tyypin kertomalla tavalla Kokonaislukujen, reaalilukujen, merkkien ja käskyjen esitys muistissa on otettu huomioon jo koneen suunnitteluvaiheessa Muiden tyyppien ja tietorakenteiden esitystapa määräytyy kielen ja laitteiston perusteella
Binäärijärjestelmä Lukujärjestelmissä kantaluku => numeromerkkien määrä 10-järjestelmä Eurooppaan keskiajan lopulla Babylonialaisilla 60-järjestelmä Mayoilla kantaluku 360 numeron paikka määrää numeron arvon 12345 => ykkösiä 5, kymmeniä 4, satoja 3, jne vrt. roomalaiset numerot bittiesityksen matemaattinen pohja binäärijärjestelmässä 21/09/2018 Liisa Marttinen kevät 2005
Binääriluvut numeerisen tiedon esitysmuoto kantaluku on 2 käytössä vain kaksi numeroa 0 ja 1 eli bitit 0 ja 1 helppo toteuttaa helppo erottaa toisistaan esim. 1101000.112 = 1*26+ 1*25 + 1*23 +1*2-1 + 1*2-2 = 64 + 32 + 8 + 1/2 + 1/4 = 104.7510 21/09/2018 Liisa Marttinen kevät 2005
Kymmenjärjestelmä => binäärijärjestelmä kokonaisosa jaetaan toistuvasti luvulla 2, kunnes osamäärä on 0 tulos saadaan poimimalla jakojäännökset käännetyssä järjestyksessä esim. 5910 = 1110112 59:2 = 29 jakoj. = 1 29:2 = 14 1 14:2 = 7 0 111011 7:2 = 3 1 3:2 = 1 1 1:2 = 0 1
0.73 * 2 = 1.46 Desimaaliosa kerrotaan toistuvasti luvulla 2. Tulos saadaan merkitsemällä ylös kokonaisosat saadussa järjestyksessä esim. 0.7310 ~ 0.10111012 0.73 * 2 = 1.46 0.46 * 2 = 0.92 1011101 0.92 * 2 = 1.84 0.84 * 2 = 1.68 0.68 * 2 = 1.36 0.36 * 2 = 0.72 0.72 * 2 = 1.44 …….
Esimerkki: Kymmenjärjestelmän luku 98.375 binääriluvuksi kokonaisosa 98 desimaaliosa .375 tulos: 1100010.011 21/09/2018 Liisa Marttinen kevät 2005
Kymmenjärjestelmä => binäärijärjestelmä (toinen tapa) Suoraan binäärijärjestelmän avulla vähennetään toistuvasti 10-järjestelmän luvusta suurin mahdollinen kakkosen potenssi ja merkitään binääriluvussa sitä vastaamaan 1; muihin kohtiin 0. Pitää muistaa tai laskea kakkosen potenssit: 1, 2, 4, 8, 16, 32, 64, 128, .. 0.50, 0.25, 0.125, 0.0625, ... 21/09/2018 Liisa Marttinen kevät 2005
Esimerkki Desimaaliluku 98.375 binääriluvuksi 98.375 - 64 = 34.375 => 2^6 =1 34.375 - 32 = 2.375 => 2^5 =1 2.375 - 2 = 0.375 => 2^1 =1 0.375 - 0.25 = 0.125 => 2^-2 =1 0.125 - 0.125 = 0.00 => 2^-3 =1 => 1100010.011 21/09/2018 Liisa Marttinen kevät 2005
Oktaali- ja heksadesimaaliluvut Oktaalijärjestelmässä kantaluku on 8 ja numerot ovat 0,1,2, 3, 4, 5, 6 ja 7. Heksadesimaalijärjestelmässä kantaluku on 16 ja numerot ovat 0, 1, …, 9, A, B, C, D, E ja F. Esimerkki: 7 A 5. C 16-järjestelmä 0111 1010 0101. 1100 2-järjestelmä toisin ryhmiteltynä 011 110 100 101. 110 2-järjestelmä 3 6 4 5. 6 8-järjestelmä 21/09/2018 Liisa Marttinen kevät 2005
Esimerkki 98.375 = 1 1 0 0 0 1 0. 0 1 1 binäärilukuna 98.375 = 1 1 0 0 0 1 0. 0 1 1 binäärilukuna 0 01 100 010. 011 ryhmiteltynä 1 4 2 . 3 oktaalilukuna 0110 0010. 0110 ryhmiteltynä 6 2 . 6 heksades.lukuna 21/09/2018 Liisa Marttinen kevät 2005
oktaaliluku 1 4 2 . 3 => 001 100 010 . 011 binääriluku heksadesimaaliluku 6 2 . 6 => 0110 0010 . 0110 etu- ja loppunollilla ei ole merkitystä, kuten ei desimaalijärjestelmässäkään 21/09/2018 Liisa Marttinen kevät 2005
Tietotyypit lause- ja konekielissä Tietotyypeillä on arvoalue ja operaatioita Arvoalueeseen liittyy arvojen lukumäärä ja peräkkäisten arvojen väli MC 6800 (v.75): yksi tietotyyppi, 8-bitin kokonaisluku nykyään operaatioita 8-, 16- ja 32-bitin kokonais- ja liukuluvuille 21/09/2018 Liisa Marttinen kevät 2005
7.3 Lukujen esittäminen binäärimuotoisena etumerkittömät kokonaisluvut int (integer) (esim. Javan kokonaisluvut) talletetaan luvun arvo binäärilukuna sanaan (= 16 tai 32 bittiä) esim. 15 = 00 00 00 0E16 = 00000000 00000000 00000000 00001111 31 23 15 7 0 21/09/2018 Liisa Marttinen kevät 2005
Negatiivisten lukujen esittäminen Monta eri mahdollisuutta: Etumerkkibitti: ensimmäinen bitti tulkitaan etumerkiksi 1 = -, 0 = + (esimerkiksi näin) ja seuraavat bitit luvun itseisarvoksi 1101 = -3 0101 = +3 ongelma: -0 ja +0 -0 = 10000000, +0 = 00000000 ovat erilaiset 21/09/2018 Liisa Marttinen kevät 2005
Kahden komplementti kahden komplementtiesityksessä X = X positiiviset luvut esitetään sellaisenaan, mutta negatiiviset komplementtimuodossa: X = X -X = 2sananpituus - X = 232-X Kahden komplementtiesitys saadaan laitteistossa helposti muuttamalla luvun ykköset nolliksi ja nollat ykkösiksi ja lisäämällä lopuksi lukuun 1. 21/09/2018 Liisa Marttinen kevät 2005
Komplementtiesityksen hyödyt vähennyslasku toteutettavissa helposti yhteenlaskun tavoin vain yksi nolla - 0 = 11111111 + 1 ======== 100000000 = 0 8 bitillä luvut -128 … 127 16 bitillä luvut 32767 .. -32768 21/09/2018 Liisa Marttinen kevät 2005
Kahden komplementin muodostaminen 1. invertoidaan bitit (yhden komplementti) 2. lisätään ykkönen jos operaatio toistetaan saadaan alkuperäinen luku 41 = 00101001 - 41 ? invertoidaan => 11010110 lisätään 1 => 11010111 tarkistus: 00101000 +1 = 00101001 = 41 21/09/2018 Liisa Marttinen kevät 2005
Lisää esimerkkejä kahden komplementista Esitetään luvut -1510 ja -2410 kahdeksalla bitillä kahden komplementtina: -1510 = - 11112 = - 0000 1111 ----> 1111 0000 + 1 = 1111 0001 -2410 = - 110002 = - 0001 1000 ----> 1110 0111 + 1 = 1110 1000 21/09/2018 Liisa Marttinen kevät 2005
Yhteenlasku 15 + 2 = 17 binäärimuodossa: 15 = 1111 2 = + 10 15 = 1111 2 = + 10 ----------- 17 = 10001 21/09/2018 Liisa Marttinen kevät 2005
Lasketaan 24-15 ja 15-24 24 0001 1000 - 15 + 1111 0001 ------ ------------------ = 9 (1) 0000 1001 ylivuotobitti unohdetaan 15 0000 1111 - 24 + 1110 1000 ----- ------------------- - 9 1111 0111 -1 = 1111 0110 => - 0000 1001 = - 910 21/09/2018 Liisa Marttinen kevät 2005
Onko binääriluku 1101 -3 vai 13? alkaa ykkösellä, siis -3 0000 … 0111 positiivisia 1000 … 1111 negatiivisia Negatiivisten lukujen sijoittuminen: 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1 21/09/2018 Liisa Marttinen kevät 2005
Reaaliluvut Reaaliluvut vastaavat tietokoneen liukulukuja. Reaalilukuja on suljetulla välillä ääretön (ylinumeroituva) määrä, mutta liukulukuja on vain äärellinen määrä ==> pyöristysvirheet ovat aina mukana laskuissa ja ne on otettava huomioon algoritmeissa Javan tyyppi float, muissa usein real 21/09/2018 Liisa Marttinen kevät 2005
Liukuluvut +/- 0.23 * 10-4 missä Liukuluku on muotoa +/- on etumerkki 0.23 on mantissa -> tarkkuus -4 on eksponetti -> arvoalue Esimerkissä kantaluku on 10. Tietokoneessa kantalukukin on 2:n potenssi! 21/09/2018 Liisa Marttinen kevät 2005
Yleensä liukuluku normeerataan: 1/kantaluku =< mantissa <1 Eksponentti käsitellään ilman etumerkkiä: Valitaan jokin vakio nollatasoksi Jos E on talletettu eksponentin arvo, M mantissa, S etumerkki (0 tai 1) ja N on nollataso, niin luku on (-1)S M * 2E-N Siis E >= 0 21/09/2018 Liisa Marttinen kevät 2005
IEEE:n standardi nollatasona on 127 IEEE:n yksinkertaisen tarkkuuden liukuluvun esitysstandardissa kantaluku on 2 ja mantissa on normeerattu välille 1 =< M < 2 eli mantissan 1. bitti on aina 1. Sitä ei siis tarvitse erikseen tallettaa => saadaan yksi bitti lisää mantissaan mutta se on otettava huomioon laskutoimituksissa nollatasona on 127 21/09/2018 Liisa Marttinen kevät 2005
Esimerkki koodauksesta 43.75 = 101011.11 binäärilukuna = 1.0101111 * 2^5 = 1.0101111 * 2^(132-127) 132 = 10000100 ==> bittijonoksi 0 10000100 01011110000… 0 S E: 8 b M: 23 b 21/09/2018 Liisa Marttinen kevät 2005
Esimerkki koodin purusta 0 10000110 011010 …0 Mantissa = 1.01101 E = 10000110 = 2^7 + 2^2 + 2^1 = 128 + 4 + 2 = 134 Nollatason vähennys 134-127 = 7 Siis luku on 1.011010 *2^7 = 10110100 = 2^7 + 2^5 + 2^4 + 2^2 = 128 + 32 + 16 +4 = 180 21/09/2018 Liisa Marttinen kevät 2005
7.3 Muun datan esittäminen Merkit Yhden merkin (Javan tyyppi char) tallettamiseen varattu tilaa esim. yksi tai kaksi tavua Merkeillä on oma binäärikoodinsa 7-bittinen ASCII: 128 merkkiä 8-bittinen ASCII: 256 merkkiä 8-bittinen ISO Latin: 256 merkkiä 16-bittinen Unicode: yli 65 000 merkkiä Koodit standardoitu 21/09/2018 Liisa Marttinen kevät 2005
Ohjelmointikielten tyypit kokonaislukujen, liukulukujen ja merkkien esitys on otettu huomioon jo koneen suunnittelussa ohjelmointikielen tyyppien, kuten totuusarvojen, taulukoiden, joukkojen jne. esittäminen ratkaistaan kääntäjässä 21/09/2018 Liisa Marttinen kevät 2005
Esimerkkejä: taulukot: alkiot riveittäin (yleensä) tai sarakkeittain tietueet: kentät peräkkäin totuusarvot: 0 = epätosi, 1 = tosi merkkijonot: ilmoitetaan jonon pituus tai loppuminen loppumerkillä 21/09/2018 Liisa Marttinen kevät 2005
Kuvat viiva- eli vektorikuvat: rasterikuvat kuva koostuu suorista ja käyristä (objekteista) nämä talletetaan sopivasti koodattuna: alku- ja loppupiste käyrän yhtälö alueiden värit rasterikuvat talletus bittikarttoina kustakin kuvan pisteestä väritieto 21/09/2018 Liisa Marttinen kevät 2005
Kuvatiedosto Kuvatiedoston alussa otsake talletusformaatin tunniste formaatti määrittää kuvan tarkkuuden, ‘laadun’ tieto värien valinnasta eli mikä ns. paletti RGB on yleinen värien esitystapa, siinä värit esitetään kolmella perusvärillä esim. (0,0,0) musta, (256,256,256) valkea ja (256, 0, 256) violetti täysvärikuva: 24- tai 48-bittinen 21/09/2018 Liisa Marttinen kevät 2005
Kuvat yleensä pakataan GIF-menetelmä (Graphic Interchange Format) maks. 256 väriä JPEG-menetelmä (Joint Photographic Experts Group) 16 miljoonaa väriä, tehokas TIFF-menetelmä (Tag Image File Format) korkealaatuisia täysvärikuvia BMP (Bit Map Picture) MS Windows 21/09/2018 Liisa Marttinen kevät 2005
Videokuva talletetaan yksittäisten kuvien sarjana ( esim. 25 kuvaa/s) sekunti pakkaamatonta hyvälaatuista videokuvaa 20 MB seuraava kuva poikkeaa edellisestä vain vähän pakkausta voidaan tehostaa tallettamalla vain muutokset 21/09/2018 Liisa Marttinen kevät 2005
Esimerkkejä videostandardeista MPEG (Moving Pictures Experts Group) ISO:n standardi, eri versioita AVI (Audio Visual Interleave) MS Windows MOV INDEO, FLI, GL,.. 21/09/2018 Liisa Marttinen kevät 2005
Äänen esitys Kaksi perusvaihtoehtoa Syntetisoitu ääni täydellinen äänidats Syntetisoitu ääni MIDI-käskyjä (Music Instrument Digital Interface) “Soita nuotti N voimakkuudella X” äänikorteissa yleensä General-Midi -standardia 21/09/2018 Liisa Marttinen kevät 2005
Täydellinen äänidata PCM-koodaus ääninäytteitä taajuudella 44.1 kHz eli 44100 kertaa sekunnissa näyte kvantisoidaan koodataan esim. 16 bitillä 21/09/2018 Liisa Marttinen kevät 2005
Esimerkkejä äänistandardeista MIDI WAV (Wave Form Audio File Format) MS Windows AU (ULAW) NeXt-kone 21/09/2018 Liisa Marttinen kevät 2005
7.4. Käskyjen esitys RISC-kone (Reduced Instruction Set Computer) Kullakin koneella oma käskykanta. Käskyn esitys muistissa on konekohtainen, ei standardoitu RISC-kone (Reduced Instruction Set Computer) mahdollisimman vähän käskyjä ja vain yksinkertaisia tietotyyppejä RISC 1: 31 käskyä CISC-kone (Complicated Instruction Set Computer) runsas käskykanta VAX: noin 340 käskyä. Intel: noin 200 käskyä 21/09/2018 Liisa Marttinen kevät 2005
Kaikissa järjestelmissä käskyssä erotetaan: RISC-ohjelmat n. 70% pitempiä, mutta suoritusaika lyhempi kuin CISC-koneissa. Kaikissa järjestelmissä käskyssä erotetaan: operaatiokoodi suoritettava toiminto + loppuosan tulkinta operandit tyyppi sijainti Saman koneen käskyt voivat olla eri pituisia 21/09/2018 Liisa Marttinen kevät 2005
7.5. Tiedon muuttumattomuus Bitti voi muuttua muistissa tai tiedonsiirrossa. muistipiirissä oleva vika voi aiheuttaa virheen (staattinen) pölyhiukkanen tms. voi aiheuttaa virheen (transientti) virhe, jota ei korjata, voi aiheuttaa häiriön Virheiden havaitsemista varten sanomassa tai tiedossa on ylimääräisiä bittejä. Ylimääräisten bittien avulla laitteisto (esim. muisti) voi suorittaa tarkistuksia. Yleisessä tapauksessa ei tiedon oikeellisuutta voi tarkastaa! 21/09/2018 Liisa Marttinen kevät 2005
Esimerkkejä tarkistusmerkeistä ohjelmallisesti tarkistettavia henkilötunnus: 020699-116D 20699116 MOD 31 = 13 (=jakojäännös) viimeinen merkki saadaan jakojäännöksestä 0123456789 ABCDEFGHJK LMPRSTUVWZ Y 0 5 10 13 19 30 020699-114D huomataan virheelliseksi 21/09/2018 Liisa Marttinen kevät 2005
tarkistusmerkki auttaa havaitsemaan virheen voidaan aina havaita yhden merkin virhe jos useampi muuttuu, niin sitä ei enää välttämättä havaita virhettä ei voida korjata ei tarkasteta henkilötunnuksen välimerkkiä (-, +, A) 020699-114D Kumpi on väärin? Vai onko joku muu merkki väärin? 21/09/2018 Liisa Marttinen kevät 2005
Bittitason tarkistukset muistipiirit, väylät, tiedonsiirrot Monenko bitin muuttuminen havaitaan? Monenko bitin muuttuminen pystytään korjaamaan? Paljonko ylimääräisiä bittejä tarvitaan havaitsemiseen ja korjaamiseen kuluttaa muistitilaa lisää piuhoja väylään Tehdäänkö tarkistukset laitteisto- vai ohjelmistotasolla hetu: 1 hetu: 0 hetu n. 10% hetu: ohjelmistotasolla 21/09/2018 Liisa Marttinen kevät 2005
Pariteetti tavun tai sanan 1-bittien lukumäärän on oltava aina parillinen (parillinen pariteetti) pariton (pariton pariteetti) ylimääräinen pariteettibitti: 1 tai 0 siten, että ehto täyttyy havaitsee yhden bitin muuttumisen, ei havaitse kahden bitin muuttumista ei pysty korjaamaan virhettä 1011 0111 0110 1100 21/09/2018 Liisa Marttinen kevät 2005
Hamming-etäisyys Montako bittiä jossain koodijärjestelmässä täytyy muuttua, jotta saadaan laillinen koodi Esim. ISO Latin-9 A = 0100 0001 B = 0100 0010 C = 0100 0011 2 bittiä 1 bitti Hamming –etäisyys on 1. Pariteettibitin kanssa etäisyys on 2. Yleensä todennäköisyys kahden bitin virheelle on paljon pienempi kuin yhden bitin virheelle! 21/09/2018 Liisa Marttinen kevät 2005
Virheen korjaava Hamming-koodi B C 1 A B C 1 A B C 1 1 Luku: 1100 Tarkistusbitit lisättynä Bitti muuttunut Kukin databitti kuuluu erilaisiin pariteettijoukkoihin. Koska on 4 databittiä, tarvitaan 3 pariteettibittiä. Virheen havainneet pariteettijoukot pystyvät korjaamaan virheen.
Hammingin koodi Käytetään useita pariteettibittejä kaikki kakkosen potenssit eli bitit 1, 2, 4, 8, 16, 32 jne. ovat pariteettibittejä kullakin pariteettibitillä tarkastetaan vain tiettyjen bittien oikeellisuutta n. bittiä tarkistavat ne pariteettibitit, joiden summa on n esim. 7. bittiä tarkistavat pariteettibitit 1, 2 ja 4. => tarkistusbitti 1 tarkistaa kaikki parittomien paikkojen bitit ja tarkistusbitti 2 kaikki parillisten paikkojen bitit (tarkistusbittejä ei oteta huomioon!) 21/09/2018 Liisa Marttinen kevät 2005
käytetään parillista pariteettia tarkistuksessa lasketaan ykkösten lukumäärät uudelleen kullekin tarkistusbitille ottaen mukaan myös ko. tarkistusbitti ‘virheelliset’ tarkistusbitit kertovat, missä bitissä virhe on tapahtunut esim. tarkistusbittejä 1 ja 4 laskettaessa ei saatu parillista ykkösten määrää => 5. bitti on virheellinen yksi virheellinen bitti pystytään korjaamaan! kaksi virheellistä havaitaan 21/09/2018 Liisa Marttinen kevät 2005
data + pariteettibitit 1 2 3 4 5 6 7 8 9 0 10 11 12 13 14 15 16 pariteettibittien paikat ? ?0? 100 ? 1011 1 1 1 1 ? databittien paikat 21/09/2018 Liisa Marttinen kevät 2005
Kukin pariteettibitti tarkistaa vain tiettyjen bittien muuttumattomuutta: sijaintipaikassa n olevaa bittiä tarkastavat ne pariteettibitit, joiden summa on n: n= 7 = 111 eli summa on 1 + 2 +4 => pariteettibitit paikoissa 1, 2 ja 4 tarkistavat paikassa 7 olevaa bittiä. n=10 = 1010 eli summa on 2+8 => tätä bittiä tarkastavat pariteettibitit paikoissa 2 ja 8.
Esimerkki: data = 1001 0101 1 2 3 4 5 6 7 8 9 10 11 12 ? ? 1 ? 0 0 1 ? 0 1 0 1 pariteettibitti 1 varmistaa kaikki parittomissa paíkoissa olevat bitit : =>P1= 0 pariteettibitti 2 varmistaa paikoissa 2, 3, 6, 7, 10, 11 olevat bitit : =>P2 =0 pariteettibitti 4 varmistaa paikoissa 4, 5, 6, 7 ja 12 olevat bitit => P4= 0 pariteettibitti 8 varmistaa paikoissa 8, 9, 10, 11, 12 olevat bitit => P8 =0 21/09/2018 Liisa Marttinen kevät 2005
1 2 3 4 5 6 7 8 9 10 11 12 0 0 1 0 0 1 1 0 0 1 0 1 P2 + 3 +6 + 7 +10 +11 => pariton lukumäärä ykkösiä! P4 + 5 +6 +7 +12 => pariton lukumäärä ykkösiä P1 ja P8 antavat parillisen määrän eli niiden tarkistamissa paikoissa ei ole virheitä. Koska P2 ja P4 ilmoittavat virheestä => virheellinen bitti on paikassa 2 + 4 = 6.
Tiedonsiirto CRC (Cyclic Redundancy Check) tarkistusmerkit lasketaan siirrettävästä tiedosta ja siirretään tiedon perässä vastaanottaja tarkastaa koko saamansa sanoman (= varsinainen tieto + tarkistusmerkit) ja havaitsee, onko tapahtunut virhettä vai ei voimakas virheenpaljastusmenetelmä 21/09/2018 Liisa Marttinen kevät 2005