Talstelsels en logica > Binair rekenen
12345Binair rekenen

Voorbeeld 1

Reken `417_(10)` en `38_(10)` om naar hun binaire vorm en bereken `417_(10) - 38_(10)` en `38_(10) - 417_(10)` .
Ga uit van een `16` -bits binair stelsel.

> antwoord

Je moet beide getallen schrijven als optelling van machten van `2` .
Dat bereik je door steeds door `2` te delen en de rest op te schrijven:

`417_(10) = 0000000110100001`

`38_(10) = 0000000000100110`

Het binaire complement van `38` is:

`1111111111011001 + 1 = 1111111111011010`

En dus wordt `417_(10) - 38_(10)` :

`\ \ \ \ \ 0000000110100001`
`ul(\ \ \ \ \ 1111111111011010 +)`
`(1)0000000101111011`

Ga na dat dit in decimale notatie inderdaad `379_(10)` is.

En zo gaat `38 - 417` :

`\ \ \ \ \ 0000000000100110`
`ul(\ \ \ \ \ 1111111001011111 +)`
`(0)1111111010000101`

En dit is het binaire complement van `0000000101111011 = 379_(10)` .

En dus: `(0)1111111010000101 = text(-)379_(10)` .

Je ziet dat de voorste (eigenlijk de `17` e bit die niet wordt gebruikt) wel moet worden bijgehouden om te bepalen of het getal positief (als het een `1` betreft) of negatief (als het een `0` betreft) is.

Opgave 4

Zet de getallen om naar een `16` -bits binair stelsel en bereken.

a

`336_(10) - 123_(10)`

b

`123_(10) - 336_(10)`

c

`35_(10) - (46_(10) + 19_(10))`

Opgave 5

Bereken (indien mogelijk) in een `8` -bits binair stelsel:

a

`00100100 + 01111011`

b

`00100100 - 01111011`

c

`01111011 - 00100100`

d

`00100100 * 01111011`

verder | terug