Conversions numèriques

De Wiket
Salta a la navegació Salta a la cerca

Conversions

La informació que ens proporcionen els números pot ser la mateixa tot i que la seva representació variarà segons el sistema numèric triat. Mitjançant les conversions podem entendre millor què succeeix dintre de l’ordinador.
Qualsevol base a decimal: teorema fonamental de la numeració
Ho veurem mitjançant exemples:
Descomposició d’un número decimal
465 = 4*10² + 6*10¹ + 5*10⁰
Si apliquem el mètode de descomposició a diferents sistemes numèrics i operem obtindrem el valor en el sistema decimal:
Exemple Hexadecimal
1D1 = 1*16² + D*16¹ + 1*16⁰ → 1*256 + 14*16 + 1*1 = 465
Exemple Octal
721 = 7*8² + 2*8¹ + 1*8⁰ → 7*64 + 2*8 + 1*1 = 465
Exemple Binari
111010001 = 1*2⁸ + 1*2⁷ + 1*2⁶ + 0*2⁵ + 1*2⁴ + 0*2³ + 0*2² + 0*2¹ + 1*2⁰ → 1*256 + 1*128 + 1*64 + 0*32 + 1*16 + 0*8 + 0*4 + 0*2 + 1*1 = 465

Decimal a qualsevol base: teorema de la divisió entera
Es tracta de dividir el número decimal per la base del sistema a la qual es vol realitzar la conversió. El mètode consisteix en dividir per la base a la que volem convertir fins que el quocient sigui menor que la base. En aquell moment construirem el número agafant els residus des del darrer calculat fins al primer. Ho veurem millor amb exemples.
Decimal a Hexadecimal

Dividend/Quocient Divisor Residu
465 16 1
29 16 13
1 - -

Reconstrucció:
1D1

Decimal a Octal

Dividend/Quocient Divisor Residu
465 8 1
58 8 2
7 - -

Reconstrucció:
721

Decimal a Binari

Dividend/Quocient Divisor Residu
465 2 1
232 2 0
116 2 0
58 2 0
29 2 1
14 2 0
7 2 1
3 2 1
1 - -

Reconstrucció:
111010001

Altres conversions

Fins ara hem realitzat conversions entre sistemes numèrics no relacionats directament, el que ens obliga a realitzar càlculs per obtenir el resultat desitjat. Si ens centrem amb els sistemes binari, octal i hexadecimal veurem com les conversions són més senzilles.
A què és degut aquest senzill mètode, doncs a que la base de tots tres sistemes és la mateixa, el 2, variant la quantitat de xifres que permet representar cadascun d'aquests sistemes.

Binari
2¹ = 2 dígits, que són el 0 i l'1

Octal
2³ = 8 dígits, des del 0 fins al 7

Hexadecimal
2⁴ = 16 dígits, del 0 fins al 15 (utilitzant lletres des del 10 fins al 15, de la A a la F)

Com es pot apreciar, la base és 2 a tots els sistemes, i depenent del nombre a representar l'exponent ens indica quina quantitat de xifres necessitem per cada dígit. Aquest exponent és el nombre de bits (dígits binaris) que ens permeten representar un dígit d'un sistema en un altre diferent.

Exemples:
Si volem convertir un valor hexadecimal a binari:
Com l'exponent és 4 això ens indica que necessitem 4 bits per representar cada dígit.
465(16 = 0100 0110 0101 (cada digit hexadecimal es representa mitjançant 4 dígits en binari)

Si es vol convertir un valor octal a binari:
Com ara l'exponent és 3, utilitzarem 3 bits per cada dígit.
465(8 = 100 110 101

Per convertir d'octal a hexadecimal o viceversa, passarem prèviament a binari i tornarem a reconstruir el valor
465(16 = 0100 0110 0101(2 = 2145(8

Tornar