In de Informatica maken we (naast de binaire notatie) heel vaak gebruik van de hexadecimale notatie (de reden is dat een groepje van 4 bits door precies één hexadecimaal cijfer voorgesteld wordt). In deze notatie hebben we 16 cijfers, zoals in onderstaande tabel weergegeven wordt.

Hexadecimaal cijfer Cijferwaarde
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
a of A 10
b of B 11
c of C 12
d of D 13
e of E 14
f of F 15
De bepaling van de waarde van een hexadecimaal getal, verloopt volledig analoog aan de manier waarop dit in het vertrouwde decimale stelsel gebeurt. Stel dat we van het decimaal getal $$d_{N-1}d_{N-2}\ldots d_1 d_0$$ de waarde willen bepalen, dan kan dit via \begin{equation} waarde = \sum_{i=0}^{n-1} d_i \times 10^i \end{equation} Willen we de waarde van een hexadecimaal getal $$h_{N-1}h_{N-2}\ldots h_1 h_0$$ berekenen, dan gebruiken we \begin{equation} waarde = \sum_{i=0}^{n-1} h_i \times 16^i \end{equation} Hiervan gebruik makend, vinden we dat de waarde van het getal $$A4$$ gelijk is aan $$10 \times 16 + 4 = 164$$. In deze oefening schrijven we een functie hex2dec() dat een getal in hexadecimale notatie, en gestockeerd in het argument (type str verondersteld) omzet naar zijn decimale gedaante (geheel getal). Je mag ervan uitgaan dat het opgegeven argument enkel geldige hexadecimale cijfers bevat.

Argumenten

Een string die een hexademicaal getal voorstelt.

Resultaat

De decimale waarde van dit argument.

Voorbeeld

hex2dec('A4') = 164
hex2dec('FFFF') = 65535
hex2dec('3BFD') = 15357