Portada arrow Algoritmos arrow Cambio de base de un número natural
Cambio de base de un número natural
viernes, 09 de marzo de 2007
Índice del Artículo
Cambio de base de un número natural
Hexadecimal, binario y octal
Algoritmo: De cualquier base a su valor
Algoritmo: De natural a cualquier base
Optimizaciones

HEXADECIMAL, BINARIO y OCTAL

De entre todas las posibles bases que podamos utilizar, suelen ser especialmente comunes la representación en base 2 (binario), en base 16 (hexadeciamal) y en base 8 (octal).

En base 2 sólo se utilizan dos dígitos, el 0 y el 1. Es de interés porque, como ya sabemos, los ordenadores y otras máquinas digitales utilizan únicamente dos estados de señales eléctricas para representar prácticamente cualquier cosa que necesitan. Si uno de esos estados se asocia al dígito 0 y el otro al 1... pues resulta que en binario se puede representar casi cualquier cosa.

La base 16 (hexadecimal), tiene interés porque 16 es una potencia de 2 (concretamente es 24). Eso dota a las representaciones en hexadecimal de una curiosa propiedad: cuatro cifras en base 2 se corresponden con una en base 16 y hace que podamos pasar de base 2 a 16 y viceversa prácticamente "de cabeza". Además, supone un ahorro a la hora de escribir tiras de bits, y reduce considerablemente la posibilidad de error. Los ordenadores trabajan en base 2, pero los humanos que trabajamos con ordenadores utilizamos la base 16 para comunicarnos entre nosotros debido a este paralelismo con la base 2. También viene muy bien poque por convención, los bits se agrupan en un ordenador en grupos de 8 (un byte). Así pues, cada byte puede representarse con dos dígitos de la base 16.

En base 16 hacen falta 16 dígitos. Como nosotros nos manejamos normalmente sólo con 10, se decidió que los otros seis dígitos que hacen falta fueran las letras A, B, C, D, E y F.

Así pues, cada uno de los 16 dígios hexadecimales se corresponde con un grupo de 4 bits.

Hexadecimal Binario
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
A1010
B1011
C1100
D1101
E1110
F1111

El fundamento para trabajar con la base 16 es el mismo que el que hemos comentado en la página anterior, aunque en el caso concreto de pasar de una representación en base 2 a una en base 16 y viceversa se pueden tomar algunos atajos basándonos en ese paralelismo que decíamos más arriba.

En cuanto a la base octal es una reminiscencia del pasado. Cada vez está más en desuso. El motivo por el que se utilizó es el mismo que el de la base 16... Al ser 8 una potencia de 2 (concretamente, 23) tres bits pueden representarse con un sólo dígito de base 8.

El motivo por el que se utilizó en el pasado es, probablemente, que antes un byte tenía sólo 7 bits (bueno, realmente tenían 8, pero sólo se utilizaban 7... el octavo se utilizaba para comprobar la paridad de los otros 7). En ese caso, la base 8 era igual de incómoda que la base 16... pero con 8 bits por byte, como en los ordenadores actuales, la base 16 es mucho más cómoda.



 
←Artículo anterior   Artículo siguiente→

Categorías

¿Quién está en línea?

 web tracker

Suscríbete

RSS feed Sindicación RSS

(¿Qué es la sindicación RSS?)


Suscribir por e-mail

¿Dónde estoy?

Estás en La tecla de ESCAPE, un sitio web personal en el que nos gusta hablar de algoritmos, informática, tecnología, ciencia, ingeniería, internet... y cualquier tontería que se nos ocurra. El punto de vista de nuestros artículos técnicos suele ser muy básico, así que a menudo adoptamos grandes simplificaciones. (Más...-Términos de uso)