Binaire getallen#

Als we een computer willen gaan programmeren, dan is enige kennis van zijn werking wel belangrijk. Dit vakgebeid staat bekend als computer architectuur.

Machinetaal#

Een computer spreekt machinetaal en deze taal bestaat enkel uit 0-en en 1-en. Ooit gehoord van bits en bytes? Een bit is een 0 of een 1. Een byte is een groep van 8 bits. Alle data en instructies binnen een computer wordt gepresenteerd door deze bits. We gaan nu eerst kijken hoe een computer getallen opslaat en optelt bij elkaar. In de toekomst gaan komen ook letters, teksten, plaatjes en geluid langs.

Het getal 42#

42

Het boek The Hitchhiker’s Guide to the Galaxy van Douglas Adams heeft sporen nagelaten in onder andere informatica: de kans is groot dat je in voorbeelden of uitwerkingen het getal 42 tegenkomt. Maar ook in het gewone leven als je op 25 mei mensen met een handdoek ziet lopen …

Tientallig stelsel (decimaal)#

  • Grondtal 10

42

\[42 = 4 \cdot 10 + 2 \cdot 1\]

123

\[123 = 1 \cdot 100 + 2 \cdot 10 + 3 \cdot 1\]

Tweetallig stelsel (binair)#

101010

  • Grondtal 2

\[101010_2 = 1 \cdot 32 + 0 \cdot 16 + 1 \cdot 8 + 0 \cdot 4 + 1 \cdot 2 + 0 \cdot 1 = 42\]
  • Elke kolom naar links is de volgende macht van het grondtal (dus steeds keer het grondtal)

There are 10 types of people: those who understand binary, and those who don't

Decimaal#

123

Binair#

1111011

\[1111011_2 = 1 \cdot 64 + 1 \cdot 32 + 1 \cdot 16 + 1 \cdot 8 + 0 \cdot 4 + 1 \cdot 2 + 1 \cdot 1 = 123\]

Quiz#

  1. Converteer het binaire getal 110011 naar decimaal

  2. Converteer het binaire getal 10001000 naar decimaal

  3. Converteer het decimale getal 28 naar binair

  4. Converteer het decimale getal 101 naar binair

\[\begin{split} \begin{aligned} 110011_2 &= 1 \cdot 32 + 1 \cdot 16 + 0 \cdot 8 + 0 \cdot 4 + 1 \cdot 2 + 1 \cdot 1 = 51_{10} \\ 10001000_2 &= 1 \cdot 128 + 0 \cdot 64 + 0 \cdot 32 + 0 \cdot 16 + 1 \cdot 8 + 0 \cdot 4 + 0 \cdot 2 + 0 \cdot 1 = 136_{10} \\ 28_{10} &= 16 + 8 + 4 = 11100_2 \\ 101_{10} &= 64 + 32 + 4 + 1 = 1100101_2 \end{aligned} \end{split}\]

Rekenen met talstelsels#

  • Hoe werkt rekenen eigenlijk?

  • We bekijken alleen optellen

Tientallig rekenen#

Optellen

  • We gebruiken opzoektabellen om de berekeningen voor 1 cijfer te kunnen doen, en algoritmes voor langere getallen

Optellen#

  • Welk algoritme gebruiken we voor optellen?

\[\begin{split} \begin{array}{r} 1\phantom{0}\\ 529\\ +\;\phantom{0}742\\ \hline 1271 \end{array} \end{split}\]

Tweetallig rekenen#

+

0

1

0

1

  • Dezelfde aanpak, allen zijn de tabellen wat kleiner! 🥳

  • Welke getallen komen in de tabel te staan?

Tweetallig rekenen#

+

0

1

0

0

1

1

1

10

  • Die 10 is binair, lees dus 2 decimaal!

Quiz#

Tel de binaire getallen 101101 en 1110 op zonder ze om te rekenen naar decimaal

\[\begin{split} \begin{array}{r} 11\phantom{000}\\ 101101\\ +\;\phantom{00}1110\\ \hline 111011 \end{array} \end{split}\]

Verder dan binair!#

Grondtal

Stelsel

42

Cijfers

2

Binair

101010

0, 1

3

Ternair

1120

0, 1, 2

3

Octaal

52

0, 1, 2, 3, 4, 5, 6, 7

10

Decimaal

42

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

16

Hexadecimaal

2A

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

To infinity and beyond!