45 votos

En la llanura inglés, ¿por qué la conversión de hexadecimal a binario trabajo de una manera tan limpia?

¿Por qué el truco de tomar la representación binaria de cada dígito y simplemente concatenando ellos el trabajo?

por ejemplo 0x4E == 0100 concatenado con 1110, lo 01001110

104voto

Studer Puntos 1050

Esto funciona no sólo por $16$, pero también para cualquier otra potencia de 2$$. Tal vez una manera fácil de ver es mirar en la base de los $10$ en lugar de la base de $2 dólares. Supongamos que queremos escribir el número $12345678$ en base de $100$. Por supuesto que no tiene $100$ símbolos para expresar de un solo dígito en base de $100$, por lo que podemos escribir usando la base $10$: $[0],[1],[2],\ldots,[99]$. Entonces $$ 12345678=[12][34][56][78]. $$

48voto

Jacks_Depression Puntos 130

Vamos a definir una notación para la "base de 1000 donde" el todo "de la base de 1000 dígitos" constará de tres base10-dígitos de grupo.

Por lo tanto, la base-10 número 123456789 sería leído 123 456 789 en la base de 1000.

Como se puede ver, la conversión entre estos es muy, muy simple. La razón es que un cierto número de dígitos en la parte inferior de la base exactamente representan un dígito en la base superior. Esto es cierto para todas las bases, donde la mayor base es una potencia de la inferior. Por ejemplo, en la base 3 y la base 9 puede ser convertido fácilmente, mientras que la base 10 y base 20 no.

Para la base 2 y base 16, el mismo se aplica, sólo que decidimos escribir "8" en lugar de 1000. Es sólo un símbolo diferente, aunque...

34voto

Jason Weathered Puntos 5346

Una observación preliminar: en base de $10,$ multiplicación de un número por una potencia de 10 $de$ las cantidades a cambio de los dígitos hacia la izquierda: $$ 10^3\cdot148=1000\cdot148=148000. $$ El análogo declaración es verdadera en cualquier base. En lo que sigue, números sin un subíndice son base-$10;$ de lo contrario, el subíndice indica la base: $$ \begin{aligned} 256\cdot A8_{16}&=16^2\cdot A8_{16}=10_{16}^2\cdot A8_{16}=100_{16}\cdot A8_{16}=A800_{16},\\ 16\cdot B_{16}&=16^1\cdot B_{16}=10_{16}B_{16}=B0_{16},\\ 16\cdot1011_2&=2^4\cdot1011_2=10000_2\cdot1011_2=10110000_2. \end{aligned} $$

Ahora echemos un vistazo a tu pregunta. La segunda y tercera líneas arriba representan la misma multiplicación, $16\cdot11.$ La multiplicación por $16$ turnos de números hexadecimales a la izquierda por un dígito binario de los números a la izquierda de cuatro dígitos.

Con esto en mente, considere el número hexadecimal, $$ \begin{aligned} A83_{16}&=16^2\cdot10+16^1\cdot8+16^0\cdot3\\ Y=16^2\cdot1010_2+16^1\cdot1000_2+16^0\cdot0011_2\\ Y=2^8\cdot1010_2+2^4\cdot1000_2+2^0\cdot0011_2. \end{aligned} $$ Escribir cada uno de los tres términos por separado, mediante el cambio de idea: $$ \begin{aligned} 1010_2\cdot2^8&=1010\,0000\,0000_2\\ 1000_2\cdot2^4&=0000\,1000\,0000_2\\ 0011_2\cdot2^0&=0000\,0000\,0011_2.\\ \end{aligned} $$ La suma es la concatenación de los dígitos ya que en cada bloque de cuatro dígitos binarios, sólo uno de los tres términos es distinto de cero.

15voto

Old John Puntos 16308

Si nos fijamos en los "encabezados de columna" para los binarios, que son $\dots 256, 128, 64, 32, 16, 8, 4, 2, 1.$

Comparar estos con los de la base de $16$: $\dots, 256, 16, 1.$

Lo fundamental es que toda la base de 16 los títulos están presentes en la base 2 de caso.

Del mismo modo, la conversión entre la base 9 y en la base 3 sería muy fácil por las mismas razones.

13voto

Dave Griffiths Puntos 688

Que funciona como $16 = 2^4$ es una potencia de 2$$. Tenemos un número $n\in \mathbb N$ escrito en hexadecimal dígitos como $n = (s_k\ldots s_0)_{16}$, que es $$ n = \sum_{i=0}^n s_i 16^i $$ escrito $s_i \in \{0,\ldots, 15\}$ en binario como $s_i = (b^i_3\ldots b^i_0)_2$ que es $$ s_i = \sum_{j=0}^3 b^i_j 2^j $$ que $$ n = \sum_{i=0}^n s_i 16^i = \sum_{i=0}^n \sum_{j=0}^3 b^i_j 2^j 2^{4i} = \sum_{i=0}^n \sum_{j=0}^3 b_i^j 2^{4i+j} $$ que $n = (b_n^3 \ldots b_n^0 \ldots b_0^3 \ldots b_0^0)_2$. Así que el binario represention de $n$ consiste en la concatenación de las representaciones de los dígitos hexadecimales de $n$.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X