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.
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.
Zet de getallen om naar een `16` -bits binair stelsel en bereken.
`336_(10) - 123_(10)`
`123_(10) - 336_(10)`
`35_(10) - (46_(10) + 19_(10))`
Bereken (indien mogelijk) in een `8` -bits binair stelsel:
`00100100 + 01111011`
`00100100 - 01111011`
`01111011 - 00100100`
`00100100 * 01111011`