Gezien je voor een richting electronica gekozen hebt, gaan we er van uit dat je geen schrik hebt van binaire getallen. Hopelijk zie je dat 0b1010 hetzelfde is als 0xA, of tien zoals men in de volksmond zegt. Hieronder vind je nog een overzichtstabel voor de eerste 16 natuurlijke getallen.
Dec | Bin | Hex | Dec | Bin | Hex | Dec | Bin | Hex | Dec | Bin | Hex |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0b0 | 0x0 | 4 | 0b100 | 0x4 | 8 | 0b1000 | 0x8 | 12 | 0b1100 | 0xC |
1 | 0b1 | 0x1 | 5 | 0b101 | 0x5 | 9 | 0b1001 | 0x9 | 13 | 0b1101 | 0xD |
2 | 0b10 | 0x2 | 6 | 0b110 | 0x6 | 10 | 0b1010 | 0xA | 14 | 0b1110 | 0xE |
3 | 0b11 | 0x3 | 7 | 0b111 | 0x7 | 11 | 0b1011 | 0xB | 15 | 0b1111 | 0xF |
Merk op dat alle 16 mogelijkheden binair te vervatten zijn in 4 tekens (=digits). In het geval dat de voorstelling korter is dan 4 digits, kunnen we altijd 0-en toevegen aan de linkerkant.
Stel dat we de verzameling van natuurlijke getallen willen uitbreiden naar de gehele getallen, hebben we ook negatieve getallen nodig. De meest gebruikte manier om negatieve getallen weer te geven is met behulp van 2’s compliment. De conversie naar 2’s complement kan bekomen worden door de binaire voorstelling te inverteren en dan 1 bit op te tellen. Merk op dat de terugomzetting van 2’s complement bekomen kan worden met dezelfde conversietechiek.
Decimaal | Binair | Decimaal | Binair | |
---|---|---|---|---|
1 | 0b0001 | -1 | 0b1111 | |
2 | 0b0010 | -2 | 0b1110 | |
3 | 0b0011 | -3 | 0b1101 | |
4 | 0b0100 | -4 | 0b1100 | |
5 | 0b0101 | -5 | 0b1011 | |
6 | 0b0110 | -6 | 0b1010 | |
7 | 0b0111 | -7 | 0b1001 |
In tegenstelling tot bij de natuurlijke getallen, kunnen hier niet de breedte verlengen door links nullen toe voegen. In het kort kan gezegd worden dat je MSB kunt herhalen aan de linkerkant.
Wat is het effect van 2’s complement op ? Juist, ja: 0.
Tenslotte dient er nog even gemeld te worden dat de conversie ook op een andere manier kan gebeuren: verminder het getal met 1 en voer dan een bits-gewijze inversie uit.
Eén van de mogelijke ALU instructies is f(x,y) = x-y. Wiskundig gezien weten wechter dat: x - y = x + (-y). Dus in het kort kan je stellen dat een aftrekking hetzelfde is als een optelling met de negatieve waarde.
Hadden jullie nu net geen Ripple Carry Adder gemaakt? #Chance-ke.