Cómo utilizar hexagonal con el binario para la programación c
Acéptalo: Nadie, ni siquiera un programador C, quiere contar bits en un número binario. Nadie. Tal vez algunos empollón alguna parte puedo decir que 10.110.001 es realmente el valor 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 binario.
Por ejemplo, el valor 10110001 se traduce en hexadecimal B1. Los números hexadecimales incluyen letras de la A a la F, que representa los valores decimales 10 a 15, respectivamente. LA B en hexadecimal es el valor decimal 11. Las cartas 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:
Hex | Binario | Decimal | Hex | Binario | Decimal |
---|---|---|---|---|---|
0x0 | 0000 | 0 | 0x8 | 1000 | 8 |
0x1 | 0001 | 1 | 0x9 | 1001 | 9 |
0x2 | 0010 | 2 | 0xA | 1010 | 10 |
0x3 | 0011 | 3 | 0xB | 1011 | 11 |
0x4 | 0100 | 4 | 0xC | 1100 | 12 |
0x5 | 0101 | 5 | 0xD | 1101 | 13 |
0x6 | 0110 | 6 | 0xE | 1110 | 14 |
0x7 | 0111 | 7 | 0xF | 1111 | 15 |
Estos valores hexadecimales tienen el prefijo 0x. Este prefijo es común en C, aunque otros lenguajes de programación pueden utilizar diferentes prefijos o un sufijo.
El siguiente valor hexadecimal después 0xF es 0x10. No leer como el número diez, pero a medida " 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 antiguos símbolos de conteo egipcias, así que donde habrá que conseguir que?
Cuando un programador ve el valor binario 10110100, primero se divide en dos mordiscos 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 el% x o caracteres de conversión% X, como se muestra en A Little Hex.
Un HEX POCO
Char #include * Binbin (int n) -INT main () {int b, xb = 21-for (x = 0-xlt; 8-x ++) {printf ("% s 0x% 04X% 4d n", Binbin (b), b, b) -blt; lt; = 1-} return (0) -} char * Binbin (int n) {bin static char [17] -INT x-for (x = 0-xlt; 16 -x ++) {bin [x] = n 0x8000? '1': '0'-n lt; lt; = 1-} bin [x] = ' 0' de retención (bin) -}
El código en A Little Hex muestra un valor en binario, hexadecimal y decimal y luego cambia ese valor a la izquierda, que muestra el nuevo valor. Este proceso tiene lugar en la línea 13 usando el carácter de conversión% X en la sentencia printf ().
Bueno, en realidad, el marcador de posición es% 04X, que muestra los valores hexadecimales usando letras mayúsculas, cuatro dígitos de ancho, y rellena con ceros a la izquierda, según sea necesario. El prefijo 0x antes del carácter de conversión simplemente muestra la salida en el estilo de C estándar.
Ejercicio 1: Inicie un nuevo proyecto utilizando el código de A Little Hex. Genere y ejecute.
Ejercicio 2: Cambie el valor de la variable b en la línea 9 de leer de esta manera:
b = 0x11-
Guarde ese cambio, y generar y ejecutar.
Usted puede escribir valores hexadecimales directamente en el código. Prefijar los valores con 0x, seguido de un número hexadecimal válido utilizando letras mayúsculas o minúsculas, ya sea cuando sea necesario.