Los números hexadecimales, a menudo abreviados como «números hex» o «hex», son números representados en base 16 en contraposición a la base 10 que utilizamos para la aritmética y el conteo cotidianos.
En términos prácticos, esto significa que cada columna de un número escrito en hexadecimal puede representar hasta 16 valores.
En programación, prefijamos las constantes hexadecimales con 0x
, con algunas excepciones.
Ejemplos y explicación
0x1 == 10xF == 150xFF == 2550xFFF == 40950x1000 == 4096
En el sistema estándar de base 10, cada columna representa potencias crecientes de 10, mientras que en base 16 cada columna representa potencias crecientes de 16.
Como se ve en el ejemplo de la tabla anterior, con un dígito hexadecimal podemos representar números hasta el 15 inclusive. Añade otra columna y podemos representar números hasta 255, 4095 con otra columna, y así sucesivamente.
Usos del hexadecimal en la programación de bajo nivel
El hexadecimal encontró por primera vez su uso en la informática como una característica de conveniencia.
Los datos en nuestros ordenadores tienen una unidad de almacenamiento común más baja, el Byte. Cada byte contiene 8 bits, y es capaz de almacenar un número entre 0 y 255 inclusive.
El hexadecimal tiene la ventaja de ser conciso y tener límites bien definidos.
Un solo byte siempre está representado por dos dígitos hexadecimales de 0x00 a 0xFF, siendo este último el mayor valor por byte de 255.
La brevedad y la naturaleza alineada por bytes de los números hexadecimales hacen que sean una opción popular para los ingenieros de software que trabajan en bases de código de bajo nivel o software embebido.
Usos de los números hexadecimales en JavaScript
JavaScript admite el uso de la notación hexadecimal en lugar de cualquier número entero, pero no de los decimales.
Como ejemplo, el número 2514 en hexadecimal es 0x9D2, pero no hay ninguna forma de representar 25.14 como un número hexadecimal.
Usar el hexadecimal en su código es una elección personal y de estilo, y no tiene ningún efecto en la lógica subyacente que su código implementa.
Usos de números hexadecimales en CSS
CSS ha utilizado durante mucho tiempo la notación hexadecimal para representar valores de color. Considere el siguiente selector:
.my-container { background-color: #112233; color: #FFFFFF;}
El valor de background-color
es, de hecho, tres bytes hexadecimales.
El procesador de CSS los trata como tres bytes individuales, que representan el Rojo, el Verde y el Azul.
En nuestro ejemplo, el 11 corresponde al componente de color Rojo, el 22 corresponde al componente de color Verde y el 33 al componente de color Azul.
Actualmente no hay forma de definir un color con un componente alfa utilizando hexadecimal. El borrador propuesto de CSS41 incluye una propuesta para permitir un byte extra para especificar los valores alfa.
Por ahora, el uso de la función estándar rgba()
es la forma recomendada para añadir un valor alfa a sus colores.