miércoles, 9 de septiembre de 2015

¿Qué diablos es octal?

Octal (base 8), y su primo, hexadecimal (base 16) son sistemas numéricos que se utilizan a menudo para expresar números en ordenadores. Nosotros los humanos, debido al hecho de que (al menos la mayoría de nosotros) hemos nacido con diez dedos, contamos usando un sistema numérico en base 10. Los ordenadores, por otra parte, han nacido sólo con un dedo y por tanto todo lo cuentan en binario (base 2). Su sistema numérico sólo tiene dos números, 0 y 1. Así que contar en binario tiene esta pinta:

0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001, 1010, 1011...

En octal, se cuenta con los números de cero al siete, así:

0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21...

Para contar en hexadecimal se usan los números del cero al nueve más las letras "A" a "F":

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13...

Mientras que podemos ver el sentido del binario (ya que los ordenadores sólo tienen un dedo), ¿para que sirven los octales y los hexadecimales? La respuesta tiene que ver con la conveniencia humana. Muchas veces, pequeños trozos de datos se representan en los ordenadores como patrones de bits. Tomemos como ejemplo un color RGB. En la mayoría de las pantallas de ordenador, cada pixel se compone de tres componentes de color: ocho bits para el rojo, ocho bits para el verde y ocho bits para el azul. Un bonito azul claro podría ser un número de 24 dígitos:

010000110110111111001101

¿Te gustaría leer y escribir este tipo de números todos los días? Creo que no. Aquí es donde otro sistema numérico nos puede ayudar. Cada dígito en hexadecimal representa cuatro dígitos en binario. En octal, cada dígito representa tres dígitos binarios. Así que nuestro azul claro de 24 dígitos podría reducirse a un número hexadecimal de seis dígitos:

436FCD

Dado que los dígitos en el número hexadecimal "se alinean" con los dígitos del número binario, podemos ver que el componente rojo de nuestro color es 43, el verde 6F, y el azul CD.

Hoy en día, la notación hexadecimal (a menudo llamada "hex") es más común que la octal, pero como veremos pronto, la capacidad de los octales para expresar tres bits de binario será muy útil...

No hay comentarios:

Publicar un comentario