Luku- ja merkkikoodit

Download Report

Transcript Luku- ja merkkikoodit

Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Luku 12 Sivu 1 (15)
2.9.2011 Fe
Luku- ja merkkikoodit
A  a i  w i
i
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Luku 12 Sivu 2 (15)
2.9.2011 Fe
Johdanto
Tässä luvussa
• esitetään kymmenjärjestelmän lukujen eli BCD-lukujen esitystapoja
digitaalilaitteissa ja lisäsisältönä NBCD-lukujen yhteenlaskualgoritmi
• esitellään erityisesti muuttuvien signaalien koodaukseen soveltuvat Graykoodit
• esitetään tärkeimmät merkkien, kuten kirjainten ja muiden kirjoituksessa
käytettävien merkkien koodaamiseen käytettävät merkkikoodit
Luvun tavoitteena on
• antaa käsitys muiden lukujen kuin binaarilukujen esittämisestä
digitaalilaitteissa
• tutustuttaa tärkeimpiin merkkikoodeihin ja niiden ominaisuuksiin
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Luku 12 Sivu 3 (15)
2.9.2011 Fe
Kymmenjärjestelmän lukujen esitys digitaalilaitteissa
• Joissakin tapauksissa on edullista käyttää lukujen esitykseen 10-
•
•
•
•
•
•
•
järjestelmää eikä 2-järjestelmää
• syöttö ja tulostus 10-järjestelmässä
• vain vähän tai ei ollenkaan laskentaa
BCD
Tällöin koodataan 10-järjestelmän luvut numeroittain
Koodeja nimitetään BCD-koodeiksi (Binary Coded Decimal)
Tarvitaan vähintään neljä bittiä (23 = 8, 24 = 16)
Erilaisia 4-bittisiä BCD-koodeja on noin 76 000 000
Yleisin on NBCD-koodi (Natural BCD); usein tätä nimitetään BCD-koodiksi
NBCD-koodissa kymmenjärjestelmän numeroa vastaa sen binaariesitys
neljällä bitillä
NBCD-koodi on painotettu koodi (weighted code)
• koodisanan arvo lasketaan sen bittien arvojen painotettuna summana
• NBCD-koodin painot ovat 8, 4, 2 ja 1
• NBCD-koodia nimitetään myös 8421-koodiksi
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Luku 12 Sivu 4 (15)
2.9.2011 Fe
NBCD-koodi
NBCD-koodit
Numero
Koodi
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
NBCD
• Koodisanat 1010 ... 1111 eivät ole käytössä.
• Moninumeroiset kymmenjärjestelmän luvut
esitetään kirjoittamalla numeroiden BCDkoodit peräkkäin
Esimerkki:
18510 = 0001 1000 0101NBCD (= 101110012)
• Luvun BCD-esityksessä on lähes aina
enemmän bittejä kuin sen binaariesityksessä
?
1
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Luku 12 Sivu 9 (15)
2.9.2011 Fe
Gray-koodit 1
• Keskeinen ominaisuus: koodisanasta seuraavaan vain yksi bitti muuttuu
• Käytetään mm. muuttuvien analogiasuureiden digitalisoinnissa
• Vältetään binaarikoodia käytettäessä syntyvät virhetilanteet koodisanan
•
muuttuessa
Esimerkki: Akselin asennon osoitus koodikiekolla
• binaarikoodissa haluttu muutos 11  00: virhe 11  10  00
• Gray-koodissa haluttu muutos 10  00: ei virhettä
1
1
1
0
Virhe!
Anturit oikein
Anturit sivussa
Binaarikoodi
GRAY
1
0
Anturit oikein
Anturit sivussa
Gray-koodi
1
0
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Gray-koodit 2
• Koodisanojen määrä ja
•
•
pituus valittavissa
Koodisanojen määrä voi
olla mikä tahansa
parillinen luku
Koodisanojen määrää
lisätään peilaamalla
Gray-koodeja
1-bittinen 2-bittinen
0
1
Peilataan
Peilataan
?
2
Lisätään bitti
GRAY
Luku 12 Sivu 10 (15)
2.9.2011 Fe
00
01
11
10
3-bittinen 4-bittinen
000
001
011
010
110
111
101
100
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Luku 12 Sivu 11 (15)
2.9.2011 Fe
Merkkikoodit
• Digitaalilaitteissa esitetään erilaisia merkkejä, kuten
• kirjaimia A b K Ä p ü Ω ы
• numeroita (muutoin kuin binaarilukuina) 1 2 3 4 5 6 7 8 9 0
• erikoismerkkejä ! & % [ ] = @ # <>
• puoligraafisia merkkejä
• ohjausmerkkejä (ohjauskoodeja) CR LF FF SYN ESC ACK
• Esittämiseen käytetään merkkikoodeja (character code)
• tiettyä merkkiä vastaa tietty koodi eli bittiyhdistelmä
• koodin bittimäärä riippuu esitettävien erilaisten merkkien lukumäärästä:
n:llä bitillä voidaan suoraan esittää enintään 2n merkkiä
• koodin bittimäärä on perinteisesti sama kaikille merkeille
• uusimmissa koodeissa käytetään yleisimmille merkeille lyhyempää
esitystä (8 bittiä) kuin harvinaisemmille (16-32 bittiä)
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Luku 12 Sivu 12 (15)
2.9.2011 Fe
ASCII-koodi
• Perinteinen merkkikoodi on ASCII-koodi (American Standard Code for
Information Interchange) eli ITU-aakkosto n:o 5
• 7 bittiä
• 128 erilaista merkkiä
• 32 ohjausmerkkiä
• 10 numeroa
• 26 isoa kirjainta
• 26 pientä kirjainta
• 34 erikoismerkkiä
• ei sisällä skandinaavisia eikä muitakaan erikoiskirjaimia
• kansallisia versioita olemassa: osa erikoismerkeistä korvattu
kansallisilla kirjaimilla, esim. å, Å, ä, Ä, ö, Ö
• sellaisenaan jäänyt pois käytöstä, mutta perusta uudemmille
merkkikoodeille
ASCII
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
ISO 8859 -merkkikoodit
•
•
•
•
•
•
•
•
•
Luku 12 Sivu 13 (15)
2.9.2011 Fe
ISO
8859
8 bittiä, 256 merkkiä
Nykyään 15 eri versiota
Perusversio ISO 8859-1 eli ISO Latin 1 (ei sisällä €-merkkiä)
Euroversio ISO 8859-15 eli ISO Latin 9 (sisältää €-merkin)
Myös mm. turkkilainen, romanialainen, kyrillinen, kreikkalainen,
arabiankielinen, hepreankielinen ja thainkielinen versio
Numerot, kirjaimet ja erikoismerkit koodialueella 010-12710 (0016-7F16)
kuten ASCII-koodissa
Ohjauskoodivaraus koodialueelle 12810-15910 (8016-9F16)
Esittele
Kansallisia kirjaimia ja lisää erikoismerkkejä koodialueella
koodi16010-25510 (A016-FF16)
taulukot
Käytössä mm. mikrotietokoneissa
• Windows-käyttöjärjestelmän koodisivu 1252 on lähes ISO Latin 1
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
ISO/IEC 10646 ja Unicode -merkkikoodit
• ISO/IEC 10646 (UCS, Universal Character Set)
• sisältää valtaosan maailman kielissä käytettävistä
Luku 12 Sivu 14 (15)
2.9.2011 Fe
ISO/IEC 10646
Unicode
merkeistä ja lisäksi suuren määrän muita merkkejä
• 16- ja 32-bittiset versiot (UCS-2 ja UCS-4), versiossa 10646:2011
(tulossa voimaan vuonna 2011) 109 448 merkkiä
• uusia merkkejä lisätään jatkuvasti
• Unicode UTF-koodit (UTF = Unicode Transformation Format)
• Unicode-konsortion kehittämä merkkikoodi, nykyinen versio 6.0.0, jossa
on 109 449 merkkiä
• yhteensopiva ISO/IEC 10646 -koodin kanssa
• monipuolisempi kuin ISO/IEC 10646
• keskeiset koodityypit UTF-8, UTF-16 ja UTF-32
• UTF-8 käyttää ASCII-koodin mukaisiin merkkeihin 8 bittiä ja muihin
merkkeihin joko 16 tai 32 bittiä
• UTF-16 käyttää merkkeihin joko 16 tai 32 bittiä
• UTF-32 käyttää merkkeihin aina 32 bittiä
Digitaalitekniikan matematiikka
Luku- ja merkkikoodit
Luku 12 Sivu 15 (15)
2.9.2011 Fe
Yhteenveto
• Lukuja esitetään digitaalilaitteissa myös BCD-koodattuina
•
•
•
•
•
kymmenjärjestelmän lukuina
Tärkein BCD-koodi on NBCD-koodi, mutta muitakin koodeja käytetään
niiden eri tilanteisiin sopivien ominaisuuksien takia
NBCD-lukujen yhteenlasku tehdään kahdessa vaiheessa NBCDsummaimella
Gray-koodeissa vain yksi bitti muuttuu koodisanasta seuraavaan
siirryttäessä
Merkkikoodeilla esitetään kirjaimia, numeroita, erikoismerkkejä,
puoligraafisia merkkejä ja ohjausmerkkejä
Keskeisiä merkkikoodeja ovat ASCII-koodi, ISO 8859-koodit sekä
ISO 10646-koodi ja Unicode