Números binarios
Para entender los números binarios, primero tenemos que recordar el funcionamiento base de los números que normalmente usamos y que corresponden con el sistema decimal.
Sistema de numeración decimal
El sistema que más conocemos consta de una serie de diez símbolos del sistema de numeración arábiga, que son lo que conocemos como las cifras:
0 1 2 3 4 5 6 7 8 9
Se trata de un sistema de numeración posicional, en el que cualquier cantidad podemos representarla utilizando las citadas cifras usando como base aritmética las potencias del número diez.
Por tanto solemos usar un sistema en base a 10 o decimal, en el que empezando por la derecha, cada elemento tiene un valor distinto según su posición.
- El primer elemento vale 10^0 = 1
- El segundo vale 10^1 = 10
- El tercero vale 10^2 = 100
- El cuarto vale 10^3 = 1000
Por lo que para la cifra 1001
en sistema decimal nuestra mente lo que realmente ve es que la cifra de más a la derecha es 1 vez 1 = 1
, las siguientes no tienen valor por ser 0, y la situada más a la izquierda es 1000 veces 1 = 1000
por lo que el valor final del conjunto es efectivamente 1000 + 1 = 1001
como normalmente lo entendemos.
Sistema de numeración binario
En ciencias de la computación como nos basamos en la apertura o cierre de circuitos para representar datos, sólo tenemos el estado abierto o cerrado, que representamos como 0 o 1, y son sólo estos dos símbolos los que usamos para representar cualquier número.
0 1
Por lo tanto el sistema usado es en base a 2 o binario, en el que empezando por la derecha, cada elemento tiene un valor distinto según su posición.
- El primer elemento vale 2^0 = 1
- El segundo vale 2^1 = 2
- El tercero vale 2^2 = 4
- El cuarto vale 2^3 = 8
Por lo que para la cifra 1001
en sistema binario el procesador lo que realmente interpreta es para la cifra de más a la derecha tenemos 1 vez 1 = 1
y para la de más a la izquierda es 8 veces 1 = 8
por lo que el valor es realmente 8 + 1 = 9
Por ejemplo si queremos representar nuestro conocido 5
en binario tenemos que representarlo como 101
, y en el caso de tener el valor binario 1111
lo que realmente representa en el equivalente decimal que conocemos, es teniendo en cuenta la posición de cada elemento (8 * 1) + ( 4 * 2 ) + ( 2 * 2 ) + ( 1 * 1 ) = 15
Equivalencia: decimal vs binario
Decimal -> binario
- 0 -> 0000 ( 0 + 0 + 0 + 0 )
- 1 -> 0001 ( 0 + 0 + 0 + 1 )
- 2 -> 0010 ( 0 + 0 + 2 + 0 )
- 3 -> 0011 ( 0 + 0 + 2 + 1 )
- 4 -> 0100( 0 + 4 + 0 + 0 )
- 5 -> 0101 ( 0 + 4 + 0 + 1 )
- 6 -> 0110 ( 0 + 4 + 2 + 0 )
- 7 -> 0111 ( 0 + 4 + 2 + 1 )
- 8 -> 1000 ( 8 + 0 + 0 + 0 )
- 9 -> 1001 ( 8 + 0 + 0 + 1 )
- 10 -> 1010 ( 8 + 0 + 2 + 0 )
Sistema hexadecimal
En desarrollo web es conocido el sistema en base 16 o hexadecimal, que es ampliamente usado en el código CSS para representar los colores. Este sistema tiene 16 posibles valores a usar:
0 1 2 3 4 5 6 7 8 9 a b c d e f
Por lo que la A tiene un valor de 10, y así sucesivamente hasta la F con un valor por si misma de 15; no se diferencia entre mayúsculas o minúsculas.
Como en los otros, el valor numérico de cada dígito es alterado dependiendo de su posición en la cadena de dígitos, quedando multiplicado por una cierta potencia de la base del sistema, que en este caso es 16.
- El primer elemento más a la derecha vale 16^0 = 1
- El segundo vale 16^1 = 16
- El tercero vale 16^2 = 256
- El cuarto vale 16^3 = 4096
Por lo que si tenemos 3E0A
en base a sistema hexadecimal, que podemos representar anteponiendo un prefijo como #
o 0x
tal que #3E0A
o 0x3E0A
en realidad tenemos la elevada cifra de 15882
, que resulta de:
( 4096 * 3 ) + ( 256 * E ) + ( 16 * 0 ) + ( 1 * A ) = 12288 + 3584 + 0 + 10
Si te ha gustado... ¡Compártelo!