viceversa traductor tabla resueltos número hexadecimal fracciones fraccionario ejercicios ejemplos conversión conversion codigo binario binary

binary - traductor - fracciones en binario



¿Cómo se convierte una fracción a binaria? (5)

1/10(decimal) = 0.0001100110011... (binary)

¿Cómo puedo hacer eso? ¿Se supone que debo convertir a binario y luego dividir? ¿Podría alguien mostrarme?


Aquí es cómo pensar en el método.

Cada vez que multiplicas por 2, estás desplazando la representación binaria del número que queda en 1 lugar. Has desplazado el dígito más alto después del punto al lugar 1, así que quítate ese dígito, y es el primer (más alto, por lo tanto, el más a la izquierda) dígito de tu fracción. Hazlo de nuevo, y tienes el siguiente dígito.

Convertir la base de un número entero dividiendo y tomando el resto como el próximo dígito está desplazando el número a la derecha. Es por eso que obtienes los dígitos en el orden opuesto, el más bajo primero.

Esto, obviamente, se generaliza a cualquier base, no solo a 2, como lo señala GoofyBall .

Otra cosa en que pensar: si redondeas a N dígitos, detente en N + 1 dígitos. Si el dígito # N + 1 es uno, necesita redondear (ya que los dígitos en binario solo pueden ser 0 o 1, truncar con el siguiente dígito un 1 es tan inexacto como truncar un 5 en decimal).


En la universidad lo aprendí de esta manera:

  1. Multiplicar por dos
  2. tomar decimal como el dígito
  3. toma la fracción como punto de partida para el próximo paso
  4. repite hasta que llegues a 0 o a un número periódico
  5. lea el número que comienza en la parte superior; el primer resultado es el primer dígito después de la coma

Ejemplo:

0.1 * 2 = 0.2 -> 0 0.2 * 2 = 0.4 -> 0 0.4 * 2 = 0.8 -> 0 0.8 * 2 = 1.6 -> 1 0.6 * 2 = 1.2 -> 1 0.2 * 2 = 0.4 -> 0 0.4 * 2 = 0.8 -> 0 0.8 * 2 = 1.6 -> 1 0.6 * 2 = 1.2 -> 1 Result: 0.00011(0011) periodic.


Esto puede ser algo confuso, pero las posiciones decimales en binario representarían recíprocos de potencias de dos (p. Ej., 1/2, 1/4, 1/8, 1/16, para el primer, segundo, tercer y cuarto lugar decimal, respectivamente) al igual que en decimales, los lugares decimales representan recíprocos de los poderes sucesivos de diez.

Para responder a su pregunta, necesitaría averiguar qué reciprocals de poderes de dos necesitarían agregarse para sumar hasta 1/10. Por ejemplo:

1/16 + 1/32 = 0.09375, que está bastante cerca de 1/10. Agregar 1/64 nos pone al día, al igual que 1/128. Pero, 1/256 nos acerca aún más. Asi que:

0.00011001 binary = 0.09765625 decimal, que está cerca de lo que pidió.

Puede continuar agregando más y más dígitos, por lo que la respuesta sería 0.00011001 ...


Me tomó un tiempo entender la respuesta de @Femaref (''s), así que pensé en dar más detalles.

Elboration

Desea convertir decimal 1/10 que equivale a 0.1 a binario. Comience con 0.1 como su entrada y siga estos pasos:

  1. Multiplicar la entrada por 2 (columna múltiple)
  2. Tome decimal de la respuesta (columna de respuesta) como el dígito (columna binaria)
  3. Tome la fracción (columna de fracción) como entrada para el próximo paso
  4. Repita los pasos 1, 2 y 3 hasta que llegue a 0 o a un número periódico. El inicio del número periódico en este caso se muestra en la última columna para que podamos detenernos allí. Pero continué mostrando la repetición para mayor claridad.
  5. La respuesta son los números tomados de la columna binaria que comienza en la parte superior.

En este caso lo es:

0.00011(0011) Note: numbers within parenthesis will keep repeating (periodic)

+-------+-------+--------+---------+----------+--------+----------------------+ | input | mult | answer | decimal | fraction | binary | | +-------+-------+--------+---------+----------+--------+----------------------+ | 0.1 | 2 | 0.2 | 0 | .2 | 0 | | | 0.2 | 2 | 0.4 | 0 | .4 | 0 | | | 0.4 | 2 | 0.8 | 0 | .8 | 0 | | | 0.8 | 2 | 1.6 | 1 | .6 | 1 | | | 0.6 | 2 | 1.2 | 1 | .2 | 1 | | | 0.2 | 2 | 0.4 | 0 | .4 | 0 | | | 0.4 | 2 | 0.8 | 0 | .8 | 0 | | | 0.8 | 2 | 1.6 | 1 | .6 | 1 | | | 0.6 | 2 | 1.2 | 1 | .2 | 1 | < Repeats after this | | 0.2 | 2 | 0.4 | 0 | .4 | 0 | | | 0.4 | 2 | 0.8 | 0 | .8 | 0 | | | 0.8 | 2 | 1.6 | 1 | .6 | 1 | | | 0.6 | 2 | 1.2 | 1 | .2 | 1 | | +-------+-------+--------+---------+----------+--------+----------------------+


1 1 -- (dec) = ---- (bin) 10 1010 0.000110011... ------------- 1010 | 1.0000000000 1010 ------ 01100 1010 ----- 0010000 1010 ----- 01100 1010 ----- 0010