Saltar al contenido
Inicio

Hexadecimal (base 16): qué es, definición y ejemplos

Hexadecimal (base 16): qué es, definición y ejemplos — Aprende cómo funciona el sistema hex, su relación con binario y decimal, conversiones y usos prácticos en informática y programación.

El sistema numérico hexadecimal, a menudo abreviado como "hex", es un sistema numérico formado por 16 símbolos (base 16). El sistema numérico estándar se llama decimal (base 10) y utiliza diez símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. El hexadecimal añade seis símbolos adicionales: las letras A, B, C, D, E y F del alfabeto inglés, que representan los valores decimales 10, 11, 12, 13, 14 y 15 respectivamente (por ejemplo, hexadecimal A = decimal 10 y hexadecimal F = decimal 15).

Galería de imágenes

3 Imágenes

Por qué se usa el hexadecimal

Los humanos usan habitualmente el sistema decimal (base 10), probablemente porque tenemos diez dedos. Los ordenadores, en cambio, funcionan internamente con el sistema binario (base 2). Un solo bit sólo puede ser 0 o 1; por eso las cadenas binarias para representar números o datos suelen ser largas y difíciles de leer. El hexadecimal resulta práctico porque agrupa cuatro bits en un solo dígito hex: cada dígito hex representa exactamente un nibble (4 bits). Así, por ejemplo, el byte de ocho bits 11011011 puede escribirse en hexadecimal como DB, que es mucho más fácil de leer y recordar.

Relación entre binario, decimal y hexadecimal

Regla general: cada posición en hexadecimal es una potencia de 16 (16^0, 16^1, 16^2, ...). Para convertir un número hexadecimal a decimal, multiplica cada dígito por la potencia de 16 correspondiente y suma los resultados.

Ejemplo: convertir hexadecimal DB a decimal:

  • D = 13 → 13 × 16^1 = 13 × 16 = 208
  • B = 11 → 11 × 16^0 = 11 × 1 = 11
  • Total = 208 + 11 = 219 (decimal)

Conversión inversa (decimal 219 → hexadecimal): divide por 16 y toma los restos.

  • 219 ÷ 16 = 13, resto 11 → 13 = D, resto 11 = B → resultado DB

Conversión desde binario (ejemplo con 11011011): agrupa los bits en nibbles de derecha a izquierda: 1101 1011 → 1101 = 13 = D; 1011 = 11 = B → DB.

Notación y convenciones

Para evitar confusiones con otros sistemas numéricos existen varias notaciones comunes:

  • 0x prefijo: usado en C, C++, Java, Python, etc. (por ejemplo, 0x63).
  • h sufijo: frecuente en ensamblador Intel (por ejemplo, 63h).
  • $ prefijo: usado en Pascal y algunos ensambladores (por ejemplo, $FF).
  • &H prefijo: usado en Visual Basic (por ejemplo, &HFF).

Las letras A–F no distinguen entre mayúsculas y minúsculas en la mayoría de contextos (por ejemplo, ff y FF son equivalentes). En la práctica muchas guías de estilo recomiendan usar mayúsculas para mayor legibilidad.

Usos prácticos del hexadecimal

  • Representación compacta de bytes y direcciones de memoria: cada byte (8 bits) equivale a dos dígitos hexadecimales. La memoria del ordenador se organiza en bytes y los programadores suelen mostrar su contenido en hexadecimal; por ejemplo, la cadena de bytes 0x41 0x42 0x43 representa los caracteres ASCII "ABC". bytes
  • Códigos de color en web: los colores CSS/HTML usan notación hexadecimal #RRGGBB (por ejemplo, #FF0000 para rojo).
  • Representación de valores en criptografía, sumas de comprobación (hashes), identificadores (GUID), y volcado de memoria (hex dump).
  • Lectura y depuración de instrucciones máquina y ensamblador; en la la jerga informática se usa mucho el hex para mostrar instrucciones, offsets y máscaras.

Consejos rápidos y herramientas

  • Para convertir rápidamente en programación: en Python usa int("FF", 16) → 255 y hex(255) → '0xff'.
  • La mayoría de calculadoras científicas y herramientas online convierten entre bases.
  • Agrupa bits de a cuatro (nibbles) desde la derecha para pasar fácilmente de binario a hex.

Ejemplos adicionales

  • Decimal 255 → hexadecimal: 255 ÷ 16 = 15 resto 15 → 15 = F, resultado FF.
  • Decimal 16 → hexadecimal: 16 = 1×16^1 + 0×16^0 → 10 (hex).
  • Hexadecimal 1F → decimal: 1×16 + 15 = 31.
  • Valor ASCII: 0x41 → decimal 65 → carácter 'A'.

En resumen, el sistema hexadecimal es una forma muy conveniente y compacta de representar información binaria en términos comprensibles para los humanos. Facilita la lectura, el análisis y la manipulación de datos en programación, electrónica y redes.

Historia

A diferencia de los ordenadores modernos, muchos de los primeros ordenadores tenían bytes de seis bits. Los programadores de esos sistemas solían utilizar un esquema alternativo de agrupación de bits llamado octal. Cada dígito octal representa eficazmente tres bits, y un byte de seis bits puede representarse como dos dígitos octales. Tres bits, cada uno de ellos encendido o apagado, pueden representar los ocho números del 0 al 7: 000 = 0; 001 = 1; 010 = 2; 011 = 3; 100 = 4; 101 = 5; 110 = 6 y 111 = 7.


 

Valores hexadecimales

El hexadecimal es similar al sistema numérico octal (base 8) porque cada uno puede compararse fácilmente con el sistema numérico binario. El hexadecimal utiliza una codificación binaria de cuatro bits. Esto significa que cada dígito en hexadecimal es lo mismo que cuatro dígitos en binario. El octal utiliza un sistema binario de tres bits.

En el sistema decimal, el primer dígito es el lugar del uno, el siguiente dígito a la izquierda es el lugar del diez, el siguiente es el lugar del cien, etc. En hexadecimal, cada dígito puede tener 16 valores, no 10. Esto significa que los dígitos tienen el lugar del uno, el lugar del dieciséis y el siguiente es el lugar del 256. Así que 1h = 1 decimal, 10h = 16 decimal, y 100h = 256 en decimal.

Valores de ejemplo de números hexadecimales convertidos en binario, octal y decimal.

Hex

Binario

El octal

Decimal

0

0

0

0

1

1

1

1

2

10

2

2

3

11

3

3

4

100

4

4

5

101

5

5

6

110

6

6

7

111

7

7

8

1000

10

8

9

1001

11

9

A

1010

12

10

B

1011

13

11

C

1100

14

12

D

1101

15

13

E

1110

16

14

F

1111

17

15

10

1 0000

20

16

11

1 0001

21

17

24

10 0100

44

36

5E

101 1110

136

94

100

1 0000 0000

400

256

3E8

11 1110 1000

1750

1000

1000

1 0000 0000 0000

10000

4096

FACE

1111 1010 1100 1110

175316

64206


 

Conversión

De binario a hexadecimal

El cambio de un número de binario a hexadecimal utiliza un método de agrupación. El número binario se separa en grupos de cuatro dígitos empezando por la derecha. A continuación, estos grupos se convierten en dígitos hexadecimales, como se muestra en la tabla anterior para los números hexadecimales del 0 al F. Para cambiar de hexadecimal, se hace lo contrario. Cada uno de los dígitos hexadecimales se cambia a binario y se suele eliminar la agrupación.

Binario

Agrupaciones

Hex

01100101

0110

0101

65

010010110110

0100

1011

0110

4B6

1101011101011010

1101

0111

0101

1010

D75A

Cuando la cantidad de bits de un número binario no es un múltiplo de 4, se rellena con ceros para que lo sea. Ejemplos:

  • binario 110 = 0110, que es 6 Hex.
  • binario 010010 = 00010010, que es 12 Hex.

De hexadecimal a decimal

Para convertir un número de hexadecimal a decimal, hay dos formas comunes.

El primer método es el más común cuando se convierte manualmente:

  1. Utilice el valor decimal para cada dígito hexadecimal. Para el 0-9, es lo mismo, pero A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15.
  2. Mantenga una suma de los números convertidos en cada paso que se indica a continuación.
  3. Empiece por el dígito hexadecimal menos significativo. Es decir, el dígito del extremo derecho. Este será el primer elemento de la suma.
  4. Tome el segundo dígito menos significativo. Es decir, junto al dígito del extremo derecho. Multiplique el valor decimal del dígito por 16. Añada esto a la suma.
  5. Haga lo mismo con la tercera cifra menos significativa, pero multiplíquela por 162 (es decir, 16 al cuadrado, o 256). Añádalo a la suma.
  6. Continúe para cada dígito, multiplicando cada lugar por otra potencia de 16. (4096, 65536, etc.)

 

Ubicación

6

5

4

3

2

1

Valor

1048576 (165 )

65536 (164 )

4096 (163 )

256 (162 )

16(161 )

1 (160 )


 El siguiente método se realiza más comúnmente cuando se convierte un número en el software. No necesita saber cuántos dígitos tiene el número antes de empezar, y nunca multiplica por más de 16, pero parece más largo sobre el papel.

  1. Utilice el valor decimal para cada dígito hexadecimal. Para el 0-9, es lo mismo, pero A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15.
  2. Mantenga una suma de los números convertidos en cada paso que se indica a continuación.
  3. Empiece por el dígito más significativo (el del extremo izquierdo). Este es el primer elemento de la suma.
  4. Si existe otro dígito, multiplique la suma por 16 y añada el valor decimal del siguiente dígito.
  5. Repita el paso anterior hasta que no haya más dígitos.


Ejemplo: 5Fh y 3425h a decimal, método 1

 

5Fh a decimal

Hex

Decimal

5Fh

=

( 5 x 16 )

+

( 15 x 1 )

=

80

+

15

5Fh

=

95

 

3425h a decimal

Hex

Decimal

3425h

=

( 3 x 4096 )

+

( 4 x 256 )

+

( 2 x 16)

+

( 5 x 1 )

=

12288

+

1024

+

32

+

5

3425h

=

13349

Ejemplo: 5Fh y 3425h a decimal, método 2

 

5Fh a decimal

Hex

Decimal

suma

=

5

=

(5 x 16) + 15

suma

=

80 + 15 (no más dígitos)

5Fh

=

95

 

3425h a decimal

Hex

Decimal

suma

=

3

=

(3 x 16) + 4 = 52

suma

=

(52 x 16) + 2 = 834

suma

=

(834 x 16) + 5 = 13349

3425h

=

13349


 

Páginas relacionadas

 

Preguntas y respuestas

P: ¿Qué es el sistema numérico hexadecimal?

R: El sistema numérico hexadecimal es un sistema de numeración de base 16 formado por 16 símbolos.

P: ¿Cuáles son los diez símbolos utilizados en el sistema decimal (base 10)?

R: Los diez símbolos utilizados en el sistema decimal (base 10) son 0,1,2,3,4,5,6,7,8 y 9.

P: ¿Qué seis símbolos adicionales utiliza el sistema hexadecimal?

R: El hexadecimal utiliza letras tomadas del alfabeto inglés: A, B, C, D, E y F.

P: ¿Cuántos bits contiene un solo byte en los ordenadores modernos?

R: En los ordenadores modernos, cada byte suele contener ocho bits.

P: ¿Cómo llaman los ingenieros y los informáticos a los valores de cuatro bits?

R: Los ingenieros y los informáticos se refieren a los valores de cuatro bits como nibbles (a veces se escribe nybble).

P: ¿Cómo se puede evitar la confusión con otros sistemas de numeración al escribir números hexadecimales?

R: Para evitar confusiones con otros sistemas de numeración al escribir números hexadecimales puede añadir una "h" después o "0x" antes del número. Por ejemplo, 63h o 0x63 significan 63 hexadecimal.

Artículos relacionados

Autor

AlegsaOnline.com Hexadecimal (base 16): qué es, definición y ejemplos

URL: https://es.alegsaonline.com/art/43993

Compartir