Tellen & Talstelsels (7)

Inhoud:

[1] tellen
[2] modulus rekenen
[3] gekoppelde tellers
[4] een gerobotiseerd onderdelen magazijn
[5] talstelsels
[6] negatieve getallen
[7] som, verschil, complement
[8] antwoorden


Som, Verschil, Complement
Hieronder zie je de (16 bit) registers A, B en C, met knopjes voor bewerkingen.
Hiermee kan je de som of het verschil van A en B bepalen of het 1-complement van A
Register C ontvangt het resultaat van een bewerking.
Negatieve getallen worden met rode cijfers aangegeven.
De bits in registers A en B kan je veranderen door erop de klikken met de muis.




Overzicht Integers
De Pentium processor kent rekenkundige bewerkingen met de volgende typen integers:



Berekeningen met langere getallen zijn mogelijk, maar dan moet een programma worden
geschreven, dat bijvoorbeeld een rij bytes bewerkt.


Tekst
Voor de opslag van een character (letter, teken) wordt 1 byte gebruikt.
Er zijn 256 codes mogelijk, dat is voldoende ruimte voor kleine letters,
hoofdletters en tekens.
De ASCII code (American Standard Code for Information Interchange) is een
afspraak welk getal bij welke letter of teken hoort.
Zo is de hoofdletter A code 65, B 66 en een spatie heeft code 32.

Drijvende-komma-getallen
Dit is een vertaling van het Engelse "Floating point" numbers.
Deze getallen heten ook wel "Real" , reële getallen.
De Pentium kent 3 soorten: een real bestaat uit 3 delen: Intel floating point formaten:
Short Real, 4 bytes, 32 bits: waarde = (-1)S * 2^(e - 127) * 1.f

Long Real, 8 bytes, 64 bits: waarde = (-1)S * 2^(e - 1023) * 1.f

De bias (nulpuntverschuiving, 127 of 1023) van de exponent maakt het mogelijk
twee flaoting-point waarden op grootte te vergelijken alsof het integers zijn.

De mantisse is 1.f , maar de 1 wordt pas tijdens het rekenproces toegevoegd.

Domein van de reals:

vraag 12



Coderen in het 2-tallig stelsel
Hiervoor hebben we informatie gecodeerd (in een getal gestopt) met behulp
van mod en div operatoren met verschillende moduli.
Dat leverde compacte codes op.
Een nadeel is echter, dat mod en div operaraties met moduli ongelijk aan
een macht van 2 relatief traag werken.
Voor de snelheid van coderen en decoderen is het handiger te werken met
moduli van 2,4,8,16,....enz.
Mod en div bewerkingen komen dan simpelweg neer op het verschuiven of afkappen van bits.
Vroeger was geheugenruimte duur en schaars maar nu is geheugen overvloedig aanwezig,
zodat we ons om een paar ongebruikte bits niet druk hoeven te maken.

Vergelijk het met de codering van kamers in een groot kantoorgebouw:
als elke verdieping 45 kamers telt, dan is het handig het kamernummer
te coderen als -verdieping-kamer-, zodat kamer 1221 de 21e kamer is
op de 12e verdieping.
Mod 45 rekenen met de kamernummers levert weliswaar een kleinere code op,
maar het decoderen wordt moeilijker.

Coderen van kleuren
Windows codeert intern een pixel (punt op beeldscherm) met een 24-bits waarde.
De kleuren Rood, Groen en Blauw worden elk met 8 bits aangegeven, zodat elke
kleur 256 intensiteitswaardes kan hebben, van 00000000(zwart) ... 11111111 (fel)

Bits 0..7 bevatten de rode-, bits 8..15 de groene- en bits 16..23 de blauwe kleur.
Het pixel is dan de vermenging van deze 3 kleuren.

Hiermee eindigt dit artikel.
Op de volgende pagina tref je de antwoorden op de vragen aan.