Magic Hexadecimal y Octano Alto Octal

Este artículo es parte de una serie, acceder al índice de la serie.

Hexes y racecars realmente no van juntos a menos que esté en Wacky Races, pero si ese es el caso, puede ser una causa perdida (pero podemos salir más tarde?) En este artículo vamos a abordar witchy hexadecimal y no deja que octal nos lleve para una rápida.

Lectura previa recomendada: El mundo maravilloso del binario – confíe en mí, si usted pasa con este artículo usted estará más bien informado de bases del número, y de representaciones de la computadora. Este artículo se referirá a él.

Hexadecimal y Octal son sólo dos más formas de contar

Recuerda que en binario hablamos de bases numéricas como base 10, base 2, etc? Bueno, hexadecimal y octal son simplemente dos formas más de contar, lo que significa que son dos bases de números. Son útiles en la programación de computadoras y la ciencia por una variedad de razones, como se explicará más adelante.

Hexadecimal se refiere a la base 16 (hex – 6 y deca – 10), mientras que octal se refiere a la base 8 (oct – 8, como octógono).

Base 16, o contando con letras

Si sólo hay diez dígitos, 0 – 10, ¿cómo contamos hasta dieciséis? Simple, utilizamos letras. Así que “cuenta” hexadecimal como tal:

0 … 1 … 2 … 3 … 4 … 5 … 6 … 7 … 8 … 9 … A … B … C … D … E … F … 10 …

Oh, whoah, espera, A … D … 10? Esto podría tener más sentido si hacemos esto:

0 … 1 … 2 … 3 … 4 … 5 … 6 … 7 … 8 … 9 …
A (10) … B (11) … C (12) … D (13) … E (14) … F (15) …
10 (16) … 11 (17) … 12 (18) … 13 (19) … … …

¿Ves cómo seguimos contando, es sólo que usamos las letras A, B, C, D, E y F como más ‘digitos’? En este caso, al igual que las potencias de 2 en binario, los valores de lugar son potencias de 16. Esto hace que el lugar de las decenas sea el lugar de las seis y el lugar de las cientos el lugar de los 256.

hex_placement

Por ejemplo: el número hexadecimal A2, sería (10 * 16) + (2 * 1) = 162.

Base 8, o Cuenta … con menos números

En octal, sólo se utilizan los dígitos 0 – 7. ¿Por qué? Bueno, octal sólo cuenta ‘hasta’ 8, igual que decimal cuenta hasta 10, binario hasta 2 y hexadecimal hasta 16. Entonces, ¿cómo contamos sólo con 8 dígitos (0 – 7). Al igual que:

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

Puede ver que a diferencia de decimal, el siguiente valor de lugar se incrementa después de cada ocho cuentas. Así, como poderes de 10 en decimal, potencias de 2 en binario y potencias de 16 en hexadecimal, octal opera con potencias de 8:

oct_placement

Por ejemplo: el octal número 75, sería (7 * 8) + (5 * 1) = 61.

Entonces, ¿por qué haría esto?

Bueno, así que esto parece bastante esotérico y oscuro, ¿por qué molestarse con esta cosa embriagadora? Comodidad, sorprendentemente. ¿Recuerdas el binario? ¿Recuerdas cómo dije que el binario se almacena en bytes de 8 bits (1 o 0)? Bueno, lo que pasa es que 1 dígito hexadecimal siempre mapea a 4 bits, sin importar el valor de ubicación en el que se encuentre:

hex_demo

¿No es asombroso? Pensé que era asombroso la primera vez que lo vi. No podía creer que un dígito o una letra en un lugar siempre pudiera “representar” el binario en el mismo lugar hasta que realmente lo resolví en mi cabeza un día. ¡Pero ahí está!

Verdaderamente este proceso es válido para cualquier número de dos bases con límites coincidentes (como base 4 y dos dígitos binarios), pero en cuanto a nuestro artículo, vamos a mostrar octal siguiente. Cada dígito octal en su lugar puede (pero no siempre en el mundo real) representar 3 dígitos binarios:

oct_demo

Representación más fácil de datos

¿Recuerdas cómo hablamos sobre la medición de la información? Un byte es 8 bits (a 1 o 0) de datos binarios. Así que cuando escribimos datos en formato hexadecimal podemos reducir la escritura de ocho 1 y 0 hasta dos números / letras. Así que un byte se convertiría en algo así como 9E, o F1 o 12. Usted puede ver que esto es más práctico y más amigable para mostrar y tratar que mirar ocho o más y ceros.

Pero, ¿qué pasa con octal? Octal no encaja en los trozos de datos de tamaño de 8, 16, 32, etc. como hexadecimal. Mientras octal todavía se utiliza en algunos casos (vamos a llegar a uno de ellos), que se utilizó más ampliamente en el pasado cuando los sistemas como el PDP-8 y mainframes IBM empleados 12, 24 y 36 bits ‘ palabras’. Octal encajar en estas restricciones y en la parte superior de que podría ser visualizado por una calculadora regular-como mostrar (utilizando sólo dígitos).

Hexadecimal y Octal en Acción

Un uso moderno de hexadecimal es especificar los colores encontrados en los sitios web. Esta es una extensión del ejemplo de uso binario en el artículo sobre binario. En el código de los sitios web, (X) HTML o CSS, los colores mostrados (en particular el texto y las fronteras, aunque los programas gráficos usan el mismo sistema) se representan con un número hexadecimal de 6 dígitos. Cada dos dígitos representan un color primario (que de nuevo es rojo, verde y azul en la tierra de la computadora). Se escriben como tales: #XXXXXX, con cada X siendo un número de 0 – F; haciendo XX de 00 (0) a FF (255). Cuanto mayor sea el número, mayor será la intensidad del color primario. El orden de los colores es el siguiente: #FFFFFF. Un ejemplo de color aleatorio: # 520712. El blanco es #FFFFFF, y el negro es # 000000.

Un uso moderno de octal es especificar permisos de archivos y carpetas en un entorno tipo UNIX (UNIX es una categorización de sistemas operativos). Estos sistemas operativos tienen tres “niveles” de permisos: propietario, grupo y todos. Cada nivel tiene tres “banderas” o bits de información: leer (r), escribir (w) y ejecutar (x). Eso nos da 9 bits de información: propietario – [rwx] grupo – [rwx] todos – [rwx] -> rwxrwxrwx. Cada “bandera” o bit es verdadero o falso, tal como legible o no legible, escribible o no, y ejecutable o no. 9 es un múltiplo de 3, y cada 3 bits se puede representar por un dígito octal derecha? Derecha.

Así que ahora nuestros permisos no tienen que parecerse a esto: 101001011 o r-x-x-wx. Oh no, pueden verse así: 513.

oct_permissions

Hechizos de lanzamiento y coches de carreras

Cuando estás programando puedes representar números (‘literales’) simplemente escribiéndolos (la mayor parte del tiempo) De modo que tienes que ser de alguna manera puedes representar un número hexadecimal y octal cuando quieras, especialmente con octal puedes ‘t sólo escribir un número directo, porque no hay nada que hace que se vea diferente de cualquier otro número decimal.La misma cosa realmente en hexadecimal si no hay ninguna letra en ese número en particular.¿Cómo lo haces?

Hay MUCHAS maneras de representar números hexadecimales que escribí un artículo demostrando todos ellos (basado en Wikipedia). Sin embargo, hay solamente algunas maneras octal se representa generalmente.

Hay algunas maneras en que los dígitos octales se representan normalmente en diferentes lenguajes de programación. Para cualquier idioma en particular, usted tendrá que hacer referencia a su especificación. En algunos idiomas, sólo se pone un 0 (cero) delante del número, o las letras o (oh) o q, e incluso la combinación de dígitos y letras 0o (cero-oh). Hay un contexto en particular donde se puede “escapar” un carácter octal. ‘Escapar’ está fuera del alcance de este artículo, pero lo haría escribiendo algo como esto: \ 001 (1 en octal).

Tada!

Eso es todo lo que hay para hexadecimal y octal. Como se puede ver, con suerte, no es demasiado complicado y es un poco como binario. Hexadecimal y octal se me presentó cuando estaba de edición de archivos de datos en un editor de texto que muestra los valores hexadecimales de cada byte también. Fue un programa bastante útil.

¡Bueno eso es todo por ahora!

Este artículo es parte de una serie, acceder al índice de la serie.

Si usted aprecia mis tutoriales y su sabiduría, por favor considere apoyarme en Patreon.

Sin embargo, si un compromiso mensual es un poco demasiado necesitado para usted, podría considerar comprarme una taza de café.

photo credit: 40h. via photopin (license)

También te podría gustar...

Deja un comentario

A %d blogueros les gusta esto: