Met behulp van bitcombinaties kan men alle tekens van onze taal makkelijk voorstellen in computer-taal. Bij de voorstelling van gegevens met behulp van bits maakt men wel een onderscheid tussen getallen en andere gegevens.
Voorstelling van getallen
Binaire voorstelling
Om via het binaire talstelsel getallen voor te stellen, past men dezelfde principes toe als bij het decimale (tientallige) stelsel, maar men gebruikt daarbij slechts twee symbolen. Aan de hand van de vol -gende tabel wordt duidelijk hoe het binaire talstelsel is opgebouwd.
Binair Decimaal Binair Decimaal Binair Decimaal
0 0 1000 8 10000 16 1 1 1001 9 10001 17 10 2 1010 10 10010 18 11 3 1011 11 10011 19 100 4 1100 12 10100 20 101 5 1101 13 10101 21 110 6 1110 14 10110 22 111 7 1111 15 10111 23
Omzetting van de decimale voorstelling van een getal in de binaire voorstelling
Om de decimale voorstelling van een positief geheel getal om te zetten in de binaire voorstelling, ga je als volgt te werk:
1 Begin met het oorspronkelijke getal: schrijf dat getal helemaal rechts op een eerste regel. 2 Herhaal telkens de volgende procedure:
a) Deel het getal door 2. (Pas de hele deling toe met quotiënt en rest.) b) Noteer het quotiënt links van het oorspronkelijke getal.
c) Schrijf de rest (1 of 0) onder het quotiënt op een tweede regel. d) Neem als nieuw getal het quotiënt van de deling.
Stop wanneer je als quotiënt het getal 0 overhoudt.
3 De binaire voorstelling kun je nu (van links naar rechts) op de tweede regel aflezen. Voorbeeld (Werk in het schema van rechts naar links.)
37dec = ?bin
0 1 2 4 9 18 37
---
1 0 0 1 0 1
Omzetting van de binaire voorstelling van een getal in de decimale voorstelling
Om de binaire voorstelling van een positief geheel getal om te zetten in de decimale voorstelling, ga je als volgt te werk:
1 Noteer de binaire voorstelling op een eerste regel; noteer de bits voldoende ver uit elkaar. 2 Noteer op een tweede regel helemaal vooraan het getal 0.
3 Herhaal telkens de volgende procedure:
a) Vermenigvuldig het getal op de tweede regel met 2.
b) Tel daarbij het eerstvolgende getal van de eerste regel op (1 of 0).
c) Noteer het resultaat op de tweede regel, rechts van het oorspronkelijke getal. d) Neem dat resultaat als nieuw getal.
Stop wanneer je alle tekens op de eerste regel gebruikt hebt.
4 De decimale voorstelling is het meest rechtse getal op de tweede regel. Voorbeeld (Werk in het schema van links naar rechts.)
100110bin = ?dec
1 0 0 1 1 0
---
0 1 2 4 9 19 38
dus 100110bin = 38dec
Opgelet!
Men spreekt van de binaire of decimale voorstelling van een getal: een getal zelf is niet binair of deci-maal, maar kan wel via die talstelsels voorgesteld worden.
Voorstelling van alfanumerieke gegevens
Principe
De computer moet meer begrijpen dan alleen zuivere getallen (numerieke gegevens), namelijk ook letters (alfabetische gegevens) of combinaties van cijfers, letters en andere tekens (alfanumerieke gegevens).
Wanneer je alfanumerieke gegevens (letters, cijfers, leestekens en speciale tekens) op een computer -systeem wilt voorstellen, moet je elk teken voorstellen door een combinatie van een vast aantal bits. Het aantal tekens dat je kunt voorstellen, is afhankelijk van het aantal bits dat je gebruikt.
Zo kun je met 1 bit 2 tekens voorstellen (0 en 1)
2 bits 4 tekens voorstellen (00, 01, 10 en 11)
3 bits 8 tekens voorstellen (000, 001, 010, 011, 100, 101, 110, 111) n bits 2n tekens voorstellen.
Rekening houdend met het feit dat je meer dan 64 tekens moet kunnen voorstellen, maar minder dan 128 (10 cijfers, 26 kleine letters, 26 hoofdletters en een aantal leestekens), is het voldoende bitreeksen van 7 tekens te gebruiken (26= 64 en 27= 128).
In principe kom je dus toe met een 7-bitscode. Nochtans gebruikt men in de praktijk 8 bits om elk teken voor te stellen. Men spreekt van de ASCII-code (American Standard Code for Information
In-terchange) omdat op elke computer elk teken door dezelfde bitreeks voorgesteld wordt. Hierdoor is
het mogelijk om tussen verschillende computers alfanumerieke gegevens uit te wisselen. Met de ASCII-code kunnen 256 tekens voorgesteld worden.
Teken Binaire voorstelling Teken Binaire voorstelling Teken Binaire voorstelling A 01000001 a 01100001 spatie 00100000 B 01000010 b 01100010 , 00101100 C 01000011 c 01100011 ? 00111111 D 01000100 d 01100100 + 00101011 0 00110000 1 00110001 2 00110010
Aangezien je de normale tekens eigenlijk met 7 bits kunt voorstellen, wordt in de ASCII-code bij elk normaal teken als eerste bit een 0 gebruikt. De eerste 128 tekens (die dus allemaal met 0 beginnen), vormen de standaard-ASCII-code en zijn voor elke computer dezelfde. De volgende 128 tekens kun-nen per computer anders zijn. In een moderne computerconfiguratie kun je bij die laatste 128 tekens zelfs kiezen uit de zogenaamde codetabellen. Men spreekt dan van de ANSI-code (American
Na-tional Standards Institute). In een Windows-omgeving verschillen de 128 laatste tekens zelfs per
let-tertype!
De ANSI-tabel
Hieronder vind je de ANSI-tabel volgens het lettertype Courier New. De eerste 128 tekens
volgen de standaard-ASCII-code; de laatste 128 tekens niet. De eerste 32 tekens werden
weggelaten. Bij elk teken werd de decimale voorstelling genoteerd i.p.v. de binaire. Het kost
je echter weinig moeite om die binaire voorstelling van elk codegetal te achterhalen.
32 64 @ 96 ` 128 Ç 160 á 192 + 224 Ó 33 ! 65 A 97 a 129 ü 161 í 193 - 225 34 " 66 B 98 b 130 é 162 ó 194 - 226 35 # 67 C 99 c 131 â 163 ú 195 + 227 § 36 $ 68 D 100 d 132 ä 164 ñ 196 - 228 37 % 69 E 101 e 133 à 165 Ñ 197 + 229 Õ 38 & 70 F 102 f 134 å 166 ª 198 ã 230 µ 39 ' 71 G 103 g 135 ç 167 º 199 Ã 231 þ 40 ( 72 H 104 h 136 ê 168 ¿ 200 + 232 Þ 41 ) 73 I 105 i 137 ë 169 ® 201 + 233 Ú 42 * 74 J 106 j 138 è 170 ¬ 202 - 234 Û 43 + 75 K 107 k 139 ï 171 ½ 203 - 235 Ù 44 , 76 L 108 l 140 î 172 ¼ 204 ¦ 236 ý 45 - 77 M 109 m 141 ì 173 ¡ 205 - 237 Ý 46 . 78 N 110 n 142 Ä 174 « 206 + 238 ¯ 47 / 79 O 111 o 143 Å 175 » 207 ¤ 239 ´ 48 0 80 P 112 p 144 É 176 _ 208 ð 240 49 1 81 Q 113 q 145 æ 177 _ 209 Ð 241 ± 50 2 82 R 114 r 146 Æ 178 _ 210 Ê 242 _ 51 3 83 S 115 s 147 ô 179 ¦ 211 Ë 243 ¾ 52 4 84 T 116 t 148 ö 180 ¦ 212 È 244 ¶ 53 5 85 U 117 u 149 ò 181 Á 213 i 245 § 54 6 86 V 118 v 150 û 182 Â 214 Í 246 ÷ 55 7 87 W 119 w 151 ù 183 À 215 Î 247 ¸ 56 8 88 X 120 x 152 ÿ 184 © 216 Ï 248 ° 57 9 89 Y 121 y 153 Ö 185 ¦ 217 + 249 ¨ 58 : 90 Z 122 z 154 Ü 186 ¦ 218 + 250 · 59 ; 91 [ 123 { 155 ø 187 + 219 _ 251 ¹ 60 < 92 \ 124 | 156 £ 188 + 220 _ 252 ³ 61 = 93 ] 125 } 157 Ø 189 ¢ 221 ¦ 253 ² 62 > 94 ^ 126 ~ 158 × 190 ¥ 222 Ì 254 _ 63 ? 95 _ 127 159 ƒ 191 + 223 _ 255
Toch een voorbeeldje: de letter A heeft als ASCII-code 65 (decimaal voorgesteld). Omgerekend betekent dit dat de letter A in een computersysteem wordt voorgesteld door de volgende 8 bits: 01000001. (Bemerk dat het eerste teken een 0 is: standaard-ASCII!)
De eerste 32 tekens van standaard-ASCII zijn stuurtekens (bv.: 13 = Enter, 27 = Esc, 9 = Back-space ...).
Heel wat tekens uit de tabel kun je gewoon via de juiste toets op het toetsenbord genereren. Om tekens in te voeren die niet op je toetsenbord staan, hou je de Alt-toets ingedrukt en tik je de ANSI-code van het teken op het numerieke klavier in. Vervolgens laat je de Alt-toets los. Op die manier kun je elk teken van de tabel invoeren.
Problemen met de ANSI-tabel
De ASCII- of ANSI-tabel bepaalt ook een soort rangorde tussen de verschillende tekens. Zo is de let-ter T kleiner dan de letlet-ter a, omdat de code van T als getal beschouwd kleiner is dan de code van a. Die rangorde wordt in sommige programma’s bij sorteringen gebruikt en kan merkwaardige gevolgen hebben.
Enkele voorbeeldjes
a < b A < b a > B A < B
appel < peer (want a < p) appel > Peer (want a > P) hand < handig
1000 < 2000 (opgepast: deze getallen worden hier als alfanumerieke gegevens beschouwd) 200 > 1000 (want 2 > 1)
Van Meerbergen< Vanden Poel (want " "<d)
Unicode
Het aantal tekens dat binnen een ANSItabel voorgesteld kan worden, is voldoende als die tabel bin -nen hetzelfde taalgebied toegepast wordt. Er ontstaan echter problemen als men op een pc documenten wil opstellen die in verschillende talen of zelfs verschillende alfabetten opgesteld moeten worden. Kun jij op je pc zomaar een Arabische tekst invoeren?
Door de populariteit van het internet enerzijds en de toename van de mobiliteit in de wereld anderzi-jds, worden vooral zakenlui meer en meer met dit probleem geconfronteerd.
De Unicode biedt een oplossing. Dat is een code, vergelijkbaar met ASCII. Alle tekens worden nu echter door 16 bits voorgesteld i.p.v. 8. Op die manier kunnen in principe 65 536 tekens voorgesteld worden. Dat is voldoende voor alle tekens van alle talen van de wereld.
Windows XP en Office 2002 ondersteunen Unicode. Dat betekent dat je op je pc toch een Arabische tekst kunt opstellen. Je moet dan wel eerst een aangepast lettertype installeren.
Op de website www.unicode.org vind je alle informatie over Unicode.
Besluit
Uit dit alles blijkt dat getallen op twee manieren met bits voorgesteld kunnen worden: via de binaire voorstelling of via de ASCII-tabel. Men gebruikt de binaire voorstelling als er met de getallen gerek-end moet kunnen worden. Men gebruikt de ASCII-voorstelling als de getallen een onderdeel zijn van andere, alfanumerieke gegevens en als er niet mee gerekend moet worden.