InfoNu.nl > Wetenschap > Wiskunde > Binaire coderingen

Binaire coderingen

Binaire coderingen In de digitale wereld rekent men met enen en nullen; het zogenaamde binaire talstelsel. Dit talstelsel heeft het grondgetal twee. Hiermee verwant is het hexadecimale stelsel, met grondgetal 16. Er zijn verschillende coderingen mogelijk. In de digitale techniek wil men ook met negatieve getallen en cijfers achter de komma werken. Behandeling van de meest algemene code, de BCD code, de two's complement notatie, en de floating point notatie.

Getalrepresentatie's

De meest gebruikelijke manier om een getal te representeren is door het getal uit te drukken in machten van het grondgetal. Stel het grondgetal is g, dan:

  • getal = z (g)^n + y (g)^n-1 + ........ + d (g)³ + c (g)² + b (g)¹ + a (g)º
  • de schrijfwijze van dit getal = zyx....edcba

De cijfers (of digits) a, b, c, ....z die gebruikt mogen worden zijn allen lager dan g.

Zo betekent in ons gebruikelijke decimale stelsel (digits lager dan 10) het getal 457 het volgende:

  • 457 = 400 + 50 + 7 = 4 (10)² + 5 (10)¹ + 7(10)º

Binair en hexadecimaal

In het binaire talstelsel gebruikt men het getal 2 als grondgetal, wat betekent:

  • alleen digits 0 en 1 mogen we gebruiken (allen lager dan 2)
  • 13 = 8 + 4 + 1 = 1 (2)³ + 1 (2)² + 0 (2)¹ + 1 (2)º, dus binair genoteerd als: 1101

Het hexadecimale stelsel gebruikt 16 als grondgetal, en wordt gebruikt door engineers en ontwerpers om snel waarden te kunnen aflezen. De te gebruiken digits zijn 0, 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 , 9, A, B, C, D, E, en F (allen lager dan 16). A heeft hier de decimale waarde van 10 en F de waarde 15:

  • 277 = 1(16)² + 1(16)¹ + 5(16)º, dus hexadecimaal genoteerd als: 115
  • 31 = 1(16)¹ + F(16)º, dus hexadecimaal genoteerd als: 1F

tabelvorm

decimaal binair hexadecimaal
00000 000000
10000 000101
70000 011107
80000 100008
150000 11110F
160001 000010
310001 11111F
320010 000020
630011 11113F
640100 000040

BCD code

BCD staat voor Binary Code Decimal; deze code vertaalt twee decimale digits 'rechtstreeks' naar twee binaire getallen. Voor het getal 15 schrijft men [4bits(1), 4bits(5)]
  • 1 ---> 0001
  • 5 ---> 0101
  • 15 = 0001 0101

De 'gewone' binaire notatie noemt men ook wel straight binary.
decimaal straight binary BCD
100010001
1311010001 0011
25000110010010 0101

Two's Complement

De two's complement notatie wordt gebruikt om negatieve getallen weer te geven. De twee meest gebruikte operatie's in hardware zijn optellen en vermenigvuldigen. Dit moet natuurlijk ook mogelijk te zijn voor negatieve getallen, daarom is een handigheidje ingevoerd:

  • een negatief getal geeft men weer door alle bits om te keren en er '1' bij op te tellen

Negatieve getallen hebben daardoor als hoogste bit altijd een '1'.

  • stel we hebben 4 bits ter beschikking, normaliter kunnen we daarmee de getallen 0, 1, ...., 15 aangeven
  • 4 bits = 16 getallen = inclusief negatieve getallen -8, -7, -6, ...., -1, 0, 1, 2, ....., 7
  • in de two's complement notatie geeft men het getal -1 weer als (omkeren(0001) + 1) = (1110 + 1) = 1111

We kunnen nu de som -1 + 1 = 0 uitvoeren:

1111
0001 +
------
0000

digitale opteller, 4 bits / Bron: Tronicdigitale opteller, 4 bits / Bron: Tronic
Voor een digitale opteller ziet dit eruit als een gewone optelling. De uitkomst is nul, omdat men niet verder dan 1111 kan tellen wanneer er 4 bits gebruikt worden; een elektrische rekenmachine of digitale opteller heeft altijd een beperkt aantal bits.
(denk aan de 'millenium bug')

Ook andere sommatie's gaan goed; -5 + 3 = -2:

1011
0011 +
------
1110

decimaal 76.....10-1-2-3....-8
two's complement 01110110.....00010000111111101101....1000

Floating point

De floating point notatie wordt gebruikt om niet-gehele getallen aan te geven. Men noemt het ook wel zwevende komma. De notatie is als volgt:

  • N = m r ª

met
  • N = floating point getal
  • m = mantisse
  • r = radix (grondgetal)
  • ª = exponent

Het floating point getal wordt binair genoteerd als: [m,r,ª]

Een floating point getal heeft een eindige precisie; het aantal cijfers achter de komma wordt beperkt door het aantal bits dat men tot de beschikking heeft.

Als voorbeeld nemen we het getal √2. Ronden we √2 af tot vier cijfers achter de komma dan is dit getal gelijk aan 1,4142. Het getal 1,4142 is te schrijven als macht van 10:
  • 1,4142 = 14142 x 10 E-4

We kiezen dus 14142 als mantisse, 10 als grondgetal, en -4 als exponent. Voor de mantisse gebruiken we 16 bits, voor radix en exponent allebei 4. De floating point notatie van het getal 1,4142 wordt dan:

  • 1,4142 = 0011011100111110 1010 1100

Vaak gebruikt men nog een extra bit om het teken van het getal aan te geven, het zogenaamde sign-bit.
© 2010 - 2017 Tronic, het auteursrecht van dit artikel ligt bij de infoteur. Zonder toestemming van de infoteur is vermenigvuldiging verboden.
Gerelateerde artikelen
Wat is binair: Over bits, bytes, nullen en enenWat is binair: Over bits, bytes, nullen en enenWe hebben allemaal gehoord over de bits en bytes waar een computer mee werkt. En dat een computer eigenlijk alleen nulle…
Rekenen met hexadecimale getallenRekenen met hexadecimale getallenVoor veel mensen is rekenen niet een van de meest favoriete bezigheden. Op school hebben we allemaal geleerd om te reken…
Automaten: werking en binaire getallenWe gebruiken in ons dagelijkse leven altijd automaten. Er zijn verschillende soorten automaten. De automaten werken met…
Wat zijn logaritmen?Dit artikel gaat over verschillende soorten logaritmen; veel gebruikte functies uit de wiskunde. Verder worden ook de re…
Binair vermenigvuldigenBinair vermenigvuldigenHet vermenigvuldigen van twee binaire getallen is een operatie die veelvuldig wordt toegepast in de digitale techniek. U…
Bronnen en referenties
  • Inleidingsfoto: Tronic
  • Afbeelding bron 1: Tronic

Reageer op het artikel "Binaire coderingen"

Plaats als eerste een reactie, vraag of opmerking bij dit artikel. Reacties moeten voldoen aan de huisregels van InfoNu.
Meld mij aan voor de tweewekelijkse InfoNu nieuwsbrief
Infoteur: Tronic
Laatste update: 04-01-2017
Rubriek: Wetenschap
Subrubriek: Wiskunde
Bronnen en referenties: 2
Schrijf mee!