Berekenen van binair, decimaal, hexadecimaal, octaal

Wiskunde is niet alleen een vak op school. Kom je ergens in de praktijk (bijvoorbeeld tijdens je werk) een wiskundig probleem tegen dan kun je hier om hulp vragen.
Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 27 nov 2015, 00:33

Hallo iedereen,


Sinds kort ben ik gestart met een opleiding van informatica en daar komen ook wat wiskunde aanbod.
Dit gaat vooral rond het rekenen van binair, decimaal, hexadecimaal enzz..

Als opdracht moeten wij redelijk wat oefeningen maken rond binair, decimaal, hexadecimaal, octaal!.

Ik zit nu in de knoop! :roll:
Er zijn bepaalde oefeningen waar ik berekeningen moet doen met een komma getal, maar kan niet de goeie weg vinden :x

Dit zijn een aantal oefeningen waar ik graag een handje hulp bij wil.
Bij de oefening moet er meestal nog een getalletje bij staan in het klein, kan ze spijtig genoegd niet allemaal vinden dus ik schrijf er gewoon naast of het binair, decimaal, hexadecimaal of octaal is tussen de komma.

Ik ga natuurlijk beginnen met een aantal vragen, maar later komen er nog af over octaal, hexadecimaal, berekenen van negatieve getallen, 2c- notatie 16 notatie enz.. Wil dit stap per stap doen.

Zet om naar een decimaal talstelsel

10101,22² (²= binair) ??

62,0051 (octaal) ??
B48F,A3 (hexadecimaal) ??

Zet om naar het binair talstelsel

21,375 (decimaal)
4316,1747 (octaal)
36B,6C8 (hexadecimaal)

Hopelijk zijn er hier wat mensen die mij kunnen helpen en zou ze daar graag dankbaar voor zijn.

Met vriendelijke groeten,
Dave

arie
Moderator
Moderator
Berichten: 3916
Lid geworden op: 09 mei 2008, 09:19

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door arie » 27 nov 2015, 01:27

[1] naar decimaal:

Bedenk dat bij grondtal g een cijfer op positie i het aantal malen de macht g^i voorstelt:
voorbeeld in het 10-tallig stelsel: g = 10:





evenzo geldt in het 2-tallig stelsel:





om dit om te zetten naar 10-tallig kunnen we term voor term converteren:










[2] naar binair:

Decimaal naar binair gaat eenvoudig door:
- het gedeelte voor de komma herhaald door 2 te delen,
- het gedeelte na de komma herhaald met 2 te vermenigvuldigen

voorbeeld:
10.3125 (dec) naar binair:
10/2 = 5 rest 0
5/2 = 2 rest 1
2/2 = 1 rest 0
1/2 = 0 rest 1
Het gedeelte voor de komma is in binair gelijk aan deze resten in omgekeerde volgorde:
1010
Nu het deel na de komma:
0.3125*2 = [0].625
0.625*2 = [1].25
0.25*2 = [0].5
0.5*2 = [1].0
achter de komma vinden we dan de cijfers tussen de rechte haken [ ]:
.0101
Conclusie: 10.3125 (dec) = 1010.0101 (bin)


Van octaal naar binair en van hexadecimaal naar binair gaan zeer eenvoudig.
Elk octaal cijfer levert 3 binaire cijfers, elke hexadecimaal cijfer levert 4 binaire cijfers.

Voorbeeld:
52231 (oct) = (101)(010)(010)(011)(001) (bin) = 101010010011001 (bin)


Hoe ver kom je nu met jouw opgaven?

NOOT:
In je tekst zal 10101,22 (bin) waarschijnlijk 10101.11 (bin) moeten zijn (typo).

Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 27 nov 2015, 11:27

Dat stukje ben ik mee.



Ben nog altijd niet mee hoe je dan van octaal, hexadecimaal naar decimaal rekent en omgekeerd.
Dit evens ook voor de bewerkingen van hexadecimaal.

Daar zit ik vast eigenlijk.

Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 27 nov 2015, 13:37

Als je omzet van octaal of hexadecimaal die komma weg laten als je werkt met een komma getal?

voorbeeld: 4316,1747 (oct) dat zou in binair dan 10100001000100011001 zijn?

arie
Moderator
Moderator
Berichten: 3916
Lid geworden op: 09 mei 2008, 09:19

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door arie » 27 nov 2015, 14:17

Van octaal naar binair vervang je direct per cijfer:

0 (oct) = 000 (bin)
1 (oct) = 001 (bin)
2 (oct) = 010 (bin)
3 (oct) = 011 (bin)
4 (oct) = 100 (bin)
5 (oct) = 101 (bin)
6 (oct) = 110 (bin)
7 (oct) = 111 (bin)

De komma blijft bestaan:

4316,1747 (oct) = 100 011 001 110 . 001 111 100 111 (bin)

Voorbeeld:

Uitgebreide herleiding:















en in het kort:

0.3 (oct) = 000 . 011 (bin) = 0 . 011 (bin) = 0.011 (bin)

Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 27 nov 2015, 15:08

Dit is dan om hexadecimaal te berekenen:

0= 0000
1= 0001
2= 0010
3= 0011
4= 0100
5= 0101
6= 0110
7= 0111
8= 1000
9= 1001
A= 1010
b= 1011
c= 1100
d= 1101
e= 1110
f= 1111

Als ik de berekening goed verstaan heb?

arie
Moderator
Moderator
Berichten: 3916
Lid geworden op: 09 mei 2008, 09:19

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door arie » 27 nov 2015, 15:22

Klopt.
Voorbeeld:

A6C5.2F (hex) = 1010 0110 1100 0101 . 0010 1111 (bin)

= 1010011011000101.00101111 (bin)

= 1 010 011 011 000 101 . 001 011 11 (bin)

= 001 010 011 011 000 101 . 001 011 110 (bin)

= 123305.136 (oct)

Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 27 nov 2015, 15:34

Kan je mij nog eens uitleggen hoe je dan van binair naar hexadecimaal rekent en ook van octaal naar hexadecimaal?

Heb hier een getal 10982 (dec) geraak er niet aan uit hoe je dit nu moet berekenen.

Je moet kijken hoeveel keer 16 er inpast. Mijn bewerking klopt ergens niet.

arie
Moderator
Moderator
Berichten: 3916
Lid geworden op: 09 mei 2008, 09:19

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door arie » 27 nov 2015, 16:41

Hier nog een keer jouw lijst van hex en bin getallen, nu uitgebreid met dec
0 = 0000 = 0
1 = 0001 = 1
2 = 0010 = 2
3 = 0011 = 3
4 = 0100 = 4
5 = 0101 = 5
6 = 0110 = 6
7 = 0111 = 7
8 = 1000 = 8
9 = 1001 = 9
A = 1010 = 10
B = 1011 = 11
C = 1100 = 12
D = 1101 = 13
E = 1110 = 14
F = 1111 = 15

De omzetting van 10-tallig naar 16-tallig gaat vergelijkbaar met de omzetting
van 10-tallig naar 2-tallig: weer herhaald delen met rest, maar nu niet
met grondtal 2 maar met grondtal 16.
Jouw voorbeeld:

10982 / 16 = 686 rest 6
686 / 16 = 42 rest 14
42 / 16 = 2 rest 10
2 / 16 = 0 rest 2

Uit de tabel lees je af:
6(dec) = 6(hex)
14(dec) = E(hex)
10(dec) = A(hex)
2(dec) = 2(hex)

Dus 10982(dec) = 2AE6(hex).

Nog even extra waarom dit werkt:
10982 = 686*16 + 6
10982 = (42*16 + 14)*16 + 6
10982 = ((2*16 + 10)*16 + 14)*16 + 6
en als we nu de haakjes wegwerken:
10982 = 2*16^3 + 10*16^2 + 14*16^1 + 6*16^0
dus
10982 (dec) = (2*16^3 + A*16^2 + E*16^1 + 6*16^0) (hex) = 2AE6 (hex)

Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 27 nov 2015, 16:50

Deze bewerking doe je juist het zelfde als bij de komma getallen?

arie
Moderator
Moderator
Berichten: 3916
Lid geworden op: 09 mei 2008, 09:19

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door arie » 27 nov 2015, 17:17

Dit volgt uit deling met rest.
Zie bijvoorbeeld https://nl.wikipedia.org/wiki/Staartdeling.

Maar als je het via je rekenmachine handiger vindt:

10982 / 16 = 686.375 = 686 + 0.375
dus
10982 = (686 + 0.375) * 16 = 686*16 + 0.375*16 = 686*16 + 6


Voor breuken volg je dezelfde weg, maar dan via vermenigvuldiging (zie ook het binaire voorbeeld in een eerdere post):

Voorbeeld 0.81(dec) naar hex:

0.81 * 16 = 12 + 0.96
0.96 * 16 = 15 + 0.36
0.36 * 16 = 5 + 0.76
0.76 * 16 = 12 + 0.16
0.16 * 16 = 2 + 0.56

dus 0.81(dec) = 0.CF5C2....(hex)

Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 27 nov 2015, 17:32

Mijn excusses ik bedoelde iets anders met komma getallen.


Voorbeeld

111,001 (Dec) naar hex?

17047,6431 (oct) naar hex?

arie
Moderator
Moderator
Berichten: 3916
Lid geworden op: 09 mei 2008, 09:19

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door arie » 27 nov 2015, 18:04

Souwen schreef:111,001 (Dec) naar hex?
de 111(dec) naar hex zou nu moeten lukken
de 0.001(dec) gaat als de 0.81(dec) in mijn vorige post:
0.001 * 16 = 0 + 0.016
0.016 * 16 = 0 + 0.256
0.256 * 16 = 4 + 0.096
0.096 * 16 = 1 + 0.536
0.536 * 16 = 9 + 0.216
dus
0.001(dec) = 0.00419...(hex)
Souwen schreef:17047,6431 (oct) naar hex?
Dit gaat het handigste via binair:
17047,6431 (oct) = 1 111 000 100 111 . 110 100 011 001 (bin)
= 1111000100111.110100011001 (bin)
= 1 1110 0010 0111 . 1101 0001 1001 (bin)
= 1 E 2 7 . D 1 9 (hex)
= 1E27.D19(hex)

Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 28 nov 2015, 14:30

Heb even deze oefening gedaan.
Van decimaal naar hexadecimaal, maar ik vermoed dat ik een foutje gemaakt.

De oefening is 111,001 (zoals ik al eens heb opgeven) Die 0,001 is geen probleem nu.
Heb ergens een fout gemaakt en kan ze niet vinden.

111:16 = 6 6x16 = 96 111-96= 15 (A)
6:16 = 0 0x16 = 0 111-0 = 111??

Souwen
Nieuw lid
Nieuw lid
Berichten: 22
Lid geworden op: 08 jun 2009, 16:30

Re: Berekenen van binair, decimaal, hexadecimaal, octaal

Bericht door Souwen » 28 nov 2015, 16:41

arie schreef:
Souwen schreef:111,001 (Dec) naar hex?
de 111(dec) naar hex zou nu moeten lukken
de 0.001(dec) gaat als de 0.81(dec) in mijn vorige post:
0.001 * 16 = 0 + 0.016
0.016 * 16 = 0 + 0.256
0.256 * 16 = 4 + 0.096
0.096 * 16 = 1 + 0.536
0.536 * 16 = 9 + 0.216
dus
0.001(dec) = 0.00419...(hex)


ontbreekt er hier geen bewerking?
ik kom dit uit

0.001 * 16 = 0 + 0.016
0.016 * 16 = 0 + 0.256
0.256 * 16 = 4 + 0.096
0.096 * 16 = 1 + 0.536
0.536 * 16 = 8 + 0.576
0.576 * 16 = 9 + 0.216

Plaats reactie