Dirección MAC y hexadecimal

Una dirección MAC de Ethernet es un valor binario de 48 bits expresado como 12 dígitos hexadecimales (4 bits por dígito hexadecimal).

Así como el sistema decimal es un sistema numérico de base 10, el sistema hexadecimal es un sistema de base 16. El sistema numérico de base 16 utiliza los número del 0 al 9 y las letras de la A a la F. En la figura 1, se muestran los valores decimales y hexadecimales equivalentes para los números binarios del 0000 al 1111. Es más fácil expresar un valor como un único dígito hexadecimal que como cuatro bits binarios.

Dado que 8 bits (1 byte) es un método de agrupación binaria común, los números binarios del 00000000 al 11111111 se pueden representar en hexadecimal como el rango del 00 al FF, como se muestra en la figura 2. Los ceros iniciales se muestran siempre para completar la representación de 8 bits. Por ejemplo, el valor binario “0000 1010” se muestra en hexadecimal como “0A”.

Nota: es importante distinguir los valores hexadecimales de los valores decimales con respecto a los caracteres del 0 al 9, como se muestra en la ilustración.

Representación de valores hexadecimales

Generalmente, el sistema hexadecimal se representa por escrito por medio del valor precedido por “0x” (por ejemplo, “0x73”) o de un subíndice 16. En ocasiones menos frecuentes, puede estar seguido por una H (por ejemplo, “73H”). Sin embargo, y debido a que el texto en subíndice no se reconoce en entornos de línea de comandos o de programación, la representación técnica de un valor hexadecimal es precedida por “0x” (cero X). Por lo tanto, los ejemplos anteriores deberían mostrarse como “0x0A” y “0x73”, respectivamente.

El valor hexadecimal se utiliza para representar las direcciones MAC de Ethernet y las direcciones IP versión 6.

Conversiones hexadecimales

Las conversiones numéricas entre valores decimales y hexadecimales son simples, pero no siempre es conveniente dividir o multiplicar por 16. Si es necesario realizar dichas conversiones, generalmente, es más fácil convertir el valor decimal o hexadecimal a un valor binario y, a continuación, convertir ese valor binario a un valor decimal o hexadecimal, según corresponda.