Cómo utilizar hexagonal con el binario para la programación c

Acéptalo: Nadie, ni siquiera un programador C, quiere contar bits de un número binario. Nadie. Quizás algunos empollón alguna parte puedo decir que 10.110.001 es realmente el valor de 177, pero la mayoría de los programadores no puede. Lo que un buen programador puede hacer, sin embargo, es traducir binario en hexadecimal.

Hex no tiene nada que ver con Harry Potter. Es la abreviatura de hexadecimal, que es el sistema de conteo de base 16. Eso no es tan obtuso como suena porque es fácil de traducir entre la base 16 (hexadecimal) y binarios.

Por ejemplo, el valor 10110001 se traduce en hexadecimal B1. Los números hexadecimales incluyen las letras A a F, que representa valores decimales 10 a 15, respectivamente. UN segundo en hexadecimal es el valor decimal 11. Las letras se utilizan porque ocupan sólo un espacio de carácter.

Estos son los 16 valores hexadecimales 0 a F y cómo se relacionan con cuatro bits de datos:

MaleficioBinarioDecimalMaleficioBinarioDecimal
0x0000000x810008
0x1000110x910019
0x2001020xA101010
0x3001130xB101111
0x4010040xC110012
0x5010150xD110113
0x6011060xE111014
0x7011170xF111115

Estos valores hexadecimales tienen el prefijo 0x. Este prefijo es común en C, aunque otros lenguajes de programación pueden usar diferentes prefijos o un sufijo.

El siguiente valor hexadecimal después 0xF es 0x10. No lo leas como el número diez, sino como “un cero hexagonal.” Es el valor 16 en decimal (base 10). Después de eso, hexagonal sigue contando con 0x11, 0x12 y 0x1F a través y más allá.

Sí, y todo esto es tan divertido como el aprendizaje de los símbolos antiguos egipcios conteo, por lo dónde va a llegar?

Cuando un programador ve el valor binario 10110100, lo primero que lo divide en dos cuartetos de 4 bits: 1011 0100. Luego se traduce en hexadecimal, 0xB4. El lenguaje de programación C hace la traducción, así, siempre y cuando se utiliza la conversión de caracteres% x% x o, como se muestra en A Little Hex.

Un HEX POCO

Char #include * binbin (int n) -INT main () {int b, x-b = 21-para (x = 0-XLT; 8-x ++) {printf ("% S 0x% 04X% 4DN", Binbin (b), b, b) -blt; lt; = 1-} de retorno (0) -} char * binbin (int n) {bin static char [17] -INT x-para (x = 0-XLT ; 16-x ++) {bin [x] = n & 0x8000? `1`: `0`-n lt; lt; = 1-} bin [x] = `` -Retorno (bin) -}

El código en una pequeña muestra un valor hexadecimal en binario, hexadecimal y decimal y entonces cambia el valor a la izquierda, mostrando el nuevo valor. Este proceso tiene lugar en la línea 13 mediante el carácter de conversión% X en la sentencia printf ().

Bueno, en realidad, es el marcador de posición% 04X, que muestra los valores hexadecimales utilizando letras mayúsculas, cuatro dígitos de ancho, y se rellena con ceros a la izquierda según sea necesario. El prefijo 0x antes de que el carácter de conversión simplemente muestra la salida en el estilo C estándar.

Ejercicio 1: Iniciar un nuevo proyecto utilizando el código de una pequeña Hex. Generar y ejecutar.

ejercicio 2: Cambiar el valor de la variable segundo en la línea 9 de leer esta manera:

b = 0x11-

Guardar ese cambio, y la construcción y explotación.

Puede escribir valores hexadecimales directamente en el código. Prefijo los valores con 0x, seguido por un número hexadecimal válido utilizando letras o bien mayúsculas o minúsculas cuando sea necesario.

Artículos Relacionados