Sistemas de números una introducción a binarios, hexadecimales y más

¿Alguna vez viste números binarios locos y te preguntaste qué significaban? ¿Alguna vez has visto números con letras mezcladas y te preguntas qué está pasando? Descubrirás todo esto y más en este artículo. El hexadecimal no tiene por qué dar miedo.


Introducción: ¿Qué es un sistema numérico??

Probablemente ya sepa qué es un sistema numérico: ¿ha oído hablar de números binarios o números hexadecimales? En pocas palabras, un sistema numérico es una forma de representar números. Estamos acostumbrados a usar el sistema numérico base-10, que también se llama decimal. Otros sistemas de números comunes incluyen base-16 (hexadecimal), base-8 (octal) y base-2 (binario).

En este artículo, explicaré qué son estos diferentes sistemas, cómo trabajar con ellos y por qué saber de ellos te ayudará..


Actividad

Antes de comenzar, probemos una pequeña actividad para divertirnos. Hay muchas formas diferentes de representar un color, pero una de las más comunes es el modelo de color RGB. Usando este modelo, cada color se compone de una combinación de diferentes cantidades de rojo, verde y azul..

Quizás se pregunte cómo se relacionan los colores con los sistemas numéricos. En resumen, en una computadora, cualquier color se almacena como un gran número: una combinación de rojo, verde y azul. (Más adelante explicaremos más detalladamente este tema.) Debido a que es solo un número, se puede representar de varias maneras utilizando diferentes sistemas numéricos.

Su trabajo es adivinar cuánto rojo, verde y azul hay en el color de fondo de la actividad a continuación. Los valores para rojo, verde y azul pueden variar de 0 a 255.

Siéntase libre de utilizar los diversos consejos proporcionados para ayudarle. Si aún no entiendes los consejos numéricos, ¡no hay problema! Puedes ver cómo se ve tu conjetura usando el Compruebe Guess botón. Y si el color de fondo hace que el texto sea difícil de leer, pulsa Color nuevo. En este momento, puede parecer complicado, pero esperemos que para el final del artículo sea fácil.

Mirando la Base-10

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ... Has contado en base 10 toda tu vida. Rápido, ¿qué es 7 + 5? Si respondiste 12, estás pensando en base-10. Echemos un vistazo más de cerca a lo que has estado haciendo todos estos años sin siquiera pensarlo.

Echemos un vistazo rápido al conteo. Primero, repasa todos los dígitos: 0, 1, 2 ... Una vez que presionas 9, no tienes más dígitos para representar el siguiente número. Por lo tanto, lo cambia de nuevo a 0 y agrega 1 al dígito de las decenas, lo que le da 10. El proceso se repite una y otra vez, y finalmente llega a 99, donde no puede hacer números más grandes con dos dígitos, por lo agrega otra, dándote 100.

Aunque eso es todo muy básico, no debes pasar por alto lo que está sucediendo. El dígito más a la derecha representa el número de unos, el siguiente dígito representa el número de decenas, el siguiente el número de cientos, etc..


Visualizando Base-10

¿Confundido por estas descripciones? No hay problema, vamos a visualizarlo en su lugar. Imagine un número grande, como 2347. Podemos representar eso con dos grupos de mil, tres grupos de cien, cuatro grupos de diez y siete bloques individuales.

Visualizando Base-10 utilizando bloques.

Use la herramienta a continuación para generar un número en sus "grupos" compuestos.

Base-10 matemáticamente

Puede que hayas notado un patrón por ahora. Veamos lo que sucede matemáticamente, usando 2347 como ejemplo.

  • Como viste, hay 2 grupos de mil. No casualmente, 1000 = 10 * 10 * 10 que también se puede escribir como 103.
  • Hay 3 grupos de cien. De nuevo, no por casualidad, 100 = 10 * 10 o 102.
  • Hay 4 grupos de diez, y, 10 = 101.
  • Finalmente, hay 7 grupos de uno, y 1 = 100. (Eso puede parecer extraño, pero alguna número a la potencia de 0 es igual a 1, por definición.)

Esta es esencialmente la definición de base-10. Para obtener un valor de un número en base-10, simplemente seguimos ese patrón. Aqui hay algunos ejemplos mas:

  • 892 = 8 * 102+9 * 101+2 * 100
  • 1147 = 1 * 103+1 * 102+4 * 101+7 * 100
  • 53 = 5 * 101+3 * 100

Es cierto que todo esto parece un poco tonto. Todos sabemos qué valor tiene un número de base-10 porque siempre usamos base-10, y nos resulta natural. Como veremos pronto, sin embargo, si entendemos los patrones en el fondo de la base 10, podemos entender otras bases mejor.


Base-8

A la base 8, también llamada octal. Base-8 significa exactamente como suena: el sistema se basa en el número ocho (en lugar de diez). ¿Recuerdas cómo en la base 10 teníamos diez dígitos? Ahora, en la base 8, estamos limitados a solo ocho dígitos: 0, 1, 2, 3, 4, 5, 6 y 7. No hay tal cosa como 8 o 9.

Contamos de la misma manera que lo haríamos normalmente, excepto con solo ocho dígitos. En lugar de una explicación larga, simplemente pruebe la demostración de abajo haciendo clic en Contar hasta 1 Para ver cómo funciona el conteo en base 8..

Debes notar un patrón similar al anterior; después de llegar a 7, nos quedamos sin dígitos diferentes para cualquier número mayor. Necesitamos una forma de representar ocho de algo. Entonces, agregamos otro dígito, cambiamos el 7 de nuevo a 0, y terminamos con 10. Nuestra respuesta de 10 en base-8 ahora representa lo que normalmente consideramos 8 en base-10.

Hablar de números escritos en múltiples bases puede ser confuso. Por ejemplo, como acabamos de ver, 10 en la base 8 no es lo mismo que 10 en la base 10. Entonces, a partir de este momento, usaré una notación estándar donde un subíndice denota la base de números si es necesario. Por ejemplo, nuestra versión de base 8 de 10 ahora se ve como 108.

(Nota del editor: Me resulta mucho más fácil entender esto si también cambio la forma en que leo estos números en mi cabeza. Por ejemplo, para 108, leo "octal uno-oh" o "uno-oh en la base- ocho ". Para 1010 leí" decimal one-oh "o" one-oh en base-ten ".

Genial, así que sabemos que 108 representa ocho elementos. (Siempre siéntase libre de insertar un número en la primera herramienta para una visualización). ¿Cuál es el siguiente número después de 778? Si dijiste 1008, tienes razón. Sabemos por lo que hemos aprendido hasta ahora que el primer 7 en 778 representa grupos de 8, y el segundo 7 representa elementos induviduales. Si sumamos todos estos, tenemos 7 * 8 + 7 * 1 = 63. Así que tenemos un total de 6310. Así que 778 = 6310. Todos sabemos que el 6410 viene después del 6310..


Convertir de Base-8 a Base-10

Veamos un ejemplo más verboso ahora. John le ofrece 478 cookies y Jane le ofrece 4310 cookies. Cuya oferta tomas? Si lo desea, siga adelante y genere el gráfico para el gráfico 478 con la primera herramienta. Averigüemos su valor base-10 para poder tomar la mejor decisión.!

Como vimos al contar, los cuatro en 478 representan el número de grupos de ocho. Esto tiene sentido, estamos en la base 8. Entonces, en total, tenemos cuatro grupos de ocho y siete grupos de uno. Si sumamos todo esto, obtenemos 4 * 8 + 7 * 1 = 3910. Entonces, 478 cookies es exactamente igual a 3910 cookies. La oferta de Jane parece ser la mejor ahora.!

El patrón que vimos antes con la base 10 también es válido aquí. Veremos 5238. Hay cinco grupos de 8.2, dos grupos de 81 y tres grupos de 80 (recuerda, 80= 1). Si sumamos estos todos, 5 * 82 + 2 * 81 + 3 * 80 = 5 * 64 + 2 * 8 + 3 = 339, obtenemos 33910, que es nuestra respuesta final. El siguiente diagrama muestra visualmente lo mismo:

Convertir 523 de base-8 a base-10

Aquí hay un par de ejemplos más:

  • 1118 = 1 * 82+1 * 81+1 * 80 = 64 + 8 + 1 = 7310
  • 438 = 4 * 81+3 * 80 = 32 + 3 = 3510
  • 61238 = 6 * 83+1 * 82+2 * 81+3 * 80 = 3072 + 64 + 16 + 3 = 315510

Convertir de Base-10 a Base-8

Convertir de base-10 a base-8 es un poco más complicado, pero aún así es sencillo. Básicamente tenemos que revertir el proceso desde arriba. Empecemos con un ejemplo: 15010.

Primero encontramos la potencia más grande de 8 que es más pequeña que la nuestra. Aquí, esto es 82 o 64 (83 es 512). Contamos cuántos grupos de 64 podemos tomar desde 150. Esto es 2, por lo que el primer dígito en nuestro número base-8 es 2. Ya tenemos 128 de los 150, por lo que nos quedan 22..

La mayor potencia de 8 que es menor que 22 es 81 (es decir, 8). ¿Cuántos grupos de 8 podemos tomar de 22? Dos grupos nuevamente, y así nuestro segundo dígito es 2..

Finalmente, nos quedamos con 6, y obviamente podemos tomar 6 grupos de uno de este, nuestro último dígito. Terminamos con 2268.

De hecho, podemos hacer que este proceso sea un poco más claro con las matemáticas. Aquí están los pasos:

  1. 150/82 = 2 resto 22
  2. 22/81 = 2 resto 6
  3. 6/80 = 6

Nuestra respuesta final es, entonces, todos nuestros dígitos no restantes, o 226. Observe que aún comenzamos dividiendo por la potencia más alta de 8 que es menor que nuestro número.


Tratar con cualquier base

Es importante poder aplicar los conceptos que hemos aprendido sobre base-8 y base-10 a cualquier base. Así como la base 8 tenía ocho dígitos y la base 10 tenía diez dígitos, cualquier base tiene el mismo número de dígitos que su base. Entonces, la base 5 tiene cinco dígitos (0-4), la base 7 tiene siete dígitos (0-6), etc..

Ahora veamos cómo encontrar el valor de base-10 de cualquier número en cualquier base. Digamos que estamos trabajando en base b, donde segundo puede ser cualquier entero positivo. Tenemos un número d4d3d2d1d0 donde cada d es un dígito en un número. (Los subíndices aquí no se refieren a la base del número, sino que simplemente diferencian cada dígito). Nuestro valor base-10 es simplemente d4 * b4 + d3 * b3 + d2 * b2 + d1 * b1 + d0 * b0.

Aquí hay un ejemplo: tenemos el número 32311 en base-4. Observe que nuestro número solo tiene dígitos de cero a tres, ya que la base 4 solo tiene cuatro dígitos en total. Nuestro valor base es 10 3 * 44 + 2 * 43 + 3 * 42 + 1 * 41 + 1 * 40 = 3 * 256 + 2 * 64 + 3 * 16 + 1 * 4 + 1 * 1 = 949. Podríamos, o por supuesto, seguir este patrón con cualquier cantidad de dígitos en nuestro número.


Base-16

Base-16 también se llama hexadecimal. Se usa comúnmente en la programación de computadoras, por lo que es muy importante entenderlo. Comencemos contando en hexadecimal para asegurarnos de que podemos aplicar lo que hemos aprendido sobre otras bases hasta ahora..

Ya que estamos trabajando con base 16, tenemos 16 dígitos. Entonces, tenemos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,… y ¡ay! Nos hemos quedado sin dígitos, pero todavía necesitamos seis más. Tal vez podríamos usar algo como un círculo 10?

La verdad es que podríamos, pero esto sería un dolor para escribir. En su lugar, simplemente usamos las letras del alfabeto, comenzando con A y continuando hasta F. Aquí hay una tabla con todos los dígitos de la base 16:

Base de 16 dígitos Valor
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
UNA 10
segundo 11
do 12
re 13
mi 14
F 15

Aparte de estos dígitos adicionales, el hexadecimal es como cualquier otra base. Por ejemplo, vamos a convertir 3D16 a base-10. Siguiendo nuestras reglas anteriores, tenemos: 3D16 = 3 * 161 + 13 * 160 = 48 + 13 = 61. Entonces 3D16 es igual a 6110. Observe cómo usamos el valor de D de 13 en nuestro cálculo.

Podemos convertir de base-10 a base-16 de manera similar a como lo hicimos con base-8. Vamos a convertir 69610 a base-16. Primero, encontramos la potencia más grande de 16 que es menor que 69610. Esto es 162, o 296. Entonces:

  1. 696/162 = 2 resto 184
  2. 184/161 = 11 resto 8
  3. 8/161 = 8 resto 0

Tenemos que reemplazar 11 con su representación de dígitos B, y obtenemos 2B816.

Siéntase libre de probar algunas conversiones más para la práctica. Puedes usar la aplicación de abajo para verificar tus respuestas:

¡Binario! (Base-2)

A la famosa base-2, también llamada binaria. Si bien todos saben que los binarios están compuestos de 0 y 1, es importante comprender que no es matemáticamente diferente a cualquier otra base. Hay una vieja broma que dice así:

"Solo hay 10 tipos de personas en el mundo: las que entienden lo binario y las que no".

¿Puedes averiguar lo que significa??

Probemos algunas conversiones con base-2. Primero, convertiremos 1011002 a base-10. Tenemos: 101100 = 1 * 25 + 1 * 23 + 1 * 22 = 32 + 8 + 4 = 4410.

Ahora vamos a convertir 65 a binario. 26 es la potencia más alta de 2 menos de 65, por lo que:

  1. 65/26 = 1 resto 1
  2. 1/25 = 0 resto 1
  3. 1/24 = 0 resto 1
  4. 1/23 = 0 resto 1
  5. 1/22 = 0 resto 1
  6. 1/21 = 0 resto 1
  7. 1/20 = 1 resto 0

Y así obtenemos nuestro número binario, 1000001..

Entender binario es super importante. He incluido una tabla a continuación para señalar los valores de los dígitos.

Por ejemplo, el valor de 10001 es 17, que es la suma de los valores de los dos dígitos 1 (16 + 1). Esto no es nada diferente a lo que hemos hecho antes, se presenta de una manera fácil de leer..


Trucos y consejos

Normalmente, al convertir entre dos bases que no son base 10, harías algo como esto:

  1. Convertir número a base-10
  2. Convertir el resultado a la base deseada

Sin embargo, hay un truco que te permitirá convertir rápidamente entre binario y hexadecimal. Primero, toma cualquier número binario y divide sus dígitos en grupos de cuatro. Entonces, digamos que tenemos el número 10111012. Dividido tenemos 0101 1101. Observe cómo podemos simplemente agregar ceros adicionales al frente del primer grupo para formar grupos iguales de 4. Ahora encontramos el valor para cada grupo como si fuera su propio número separado, que nos da 5 y 13. Finalmente, simplemente usamos los dígitos hexadecimales correspondientes para escribir el número base-16, 5D16.

También podemos ir en la otra dirección, convirtiendo cada dígito hexadecimal en cuatro dígitos binarios. Intenta convertir B716 a binario. Usted debe obtener 101101112.

Este truco funciona porque 16 es una potencia de 2. Lo que esto significa es que usamos un truco similar para base-8, que también es una potencia de 2:

Por supuesto, puede revertir el proceso para pasar de base 8 a binario también.


Conclusión

Volvamos atrás y revisemos el juego de adivinanzas de colores..

Cuando se convierten a hexadecimales, los dos primeros dígitos representan la cantidad de rojo, los dos siguientes la cantidad de verde y los dos últimos la cantidad de azul. Entonces, si nuestro color es 17FF1816, podemos decir fácilmente que nuestro componente rojo es 1716 o 2310. Nuestro componente verde es FF16, o 25510. Finalmente, nuestro componente azul es 1816 o 2410. Si se nos da la versión base-10 de nuestro color , 157263210, necesitamos convertirlo a hexadecimal antes de que podamos decir algo al respecto.

Prueba el juego de nuevo, y mira cuánto mejor puedes hacer.!

Comprender diferentes sistemas numéricos es extremadamente útil en muchos campos relacionados con la informática. Binario y hexadecimal son muy comunes, y te animo a que te familiarices con ellos. Gracias por leer - ¡Espero que hayas aprendido mucho de este artículo! Si tiene alguna pregunta, por favor pregunte a continuación.