25 votos

¿Fracciones en binario?

Como se escribe una fracción en números binarios; ¿por ejemplo, $1/4$, $.25$? Sé cómo escribir binario de números enteros como la 6, siendo $110$, pero ¿cómo se escribir fracciones?

28voto

Drew Jolesch Puntos 11
NOTA:

27voto

dtldarek Puntos 23441

Como usted ha mencionado, $$6 = {\color{red}1}\cdot 2^2+ {\color{red}1}\cdot 2^1+{\color{red}0}\cdot 2^0 = {\color{red}{110}}_B.$$ De forma análoga $$\frac{1}{4} = \frac{1}{2^2} = {\color{red}0}\cdot2^0 + {\color{red}0}\cdot 2^{-1} + {\color{red}1}\cdot 2^{-2} = {\color{red}{0.01}}_B.$$

Editar:

Estas imágenes puede darte un poco más de la intuición ;-) Aquí $\frac{5}{16} = 0.0101_B$, mientras que el denominador es de la forma $2^n$, la representación es finito (proceso termina cuando se lleguen a cero); $\frac{1}{6} = 0.0010\overline{10}_B$ ya que el denominador no es de la forma $2^n$, pero el número es racional, por lo que la representación es infinita y periódica.

binary fraction 5/15binary fraction 1/6

Espero que esta ayuda ;-)

6voto

Jake Puntos 118

Tres formas básicas, todo lo visto en sistemas de número binario:

Punto fijo: Un entero que contiene la "parte entera"; otro sostiene la "parte fraccionaria". Esto es fácil de almacenar y mostrar, y tiene muy alta magnitud y la precisión con la que prácticamente ningún error, pero el verdadero matemáticas con los números involucrados puede obtener peludo. Los números decimales no son a menudo visto en esta forma, pero es una posibilidad.

Mantenido de Punto Flotante: un entero grande tiene todo el valor, y un segundo número más pequeño mantiene el lugar correspondiente del punto decimal desde la derecha (o la izquierda) lado del número. Mucho más fáciles de manipular para operaciones matemáticas, el mismo mantenimiento de la precisión, el error de cero, y se utiliza en muchas implementaciones de "BigDecimal" tipos de objetos donde el "built-in" de punto flotante de mecanismos no están disponibles. Puede ser más difícil de representar en base 10 del formulario en la pantalla. Si se implementa con el normal de los tipos integer, este método puede ser más limitadas en magnitud que el anterior; en lugar de ello, muchas de las implementaciones de utilizar una matriz de bytes para almacenar el número, permitiendo a los números para ser tan grande como la memoria del sistema.

Implícito de Punto Flotante: El número se expresa en lo que equivale a "binario notación científica". Un "mantisa" se almacena como un entero, con el punto decimal implícita a estar en el extremo derecho. Entonces el exponente de una potencia de dos es también almacenados. El valor real de este número es la mantisa, multiplicado por dos a la potencia del exponente. Este enfoque permite el almacenamiento y el cálculo de los realmente grandes números, y las Cpu modernas están diseñadas con una Unidad de coma Flotante o FPU (a veces llamado un "coprocesador matemático", en los primeros días de su integración en 486-clase Cpu) que acelera los cálculos de los números en este formulario. Sin embargo, hay dos problemas; primero, hay un equilibrio entre la precisión extrema y la extrema magnitud; la mantisa, y por lo tanto el número de dígitos que pueden ser almacenados, precisamente, es fija, así como la magnitud aumenta, el número de posibles posiciones decimales disminuye (en los extremos de la magnitud de la frecuencia no se puede obtener más granular que los millones de lugar). Segundo, hay una cantidad de "error de redondeo" inherente en el uso de los números de punto flotante, con el inherente a la conversión a binario y viceversa; esto puede provocar errores en los cálculos que requieren de mucha precisión (por ejemplo, cuando se trata de dinero), y por lo menos que el extremo de la magnitud de un tipo de punto flotante es obligatorio, se recomienda usar un método de representación que no introduce error.

3voto

cstich Puntos 18

$1/4=0\cdot(1/2)^0+0\cdot(1/2)^1+1\cdot(1/2)^2=0.01$ % base $2$, a ir en reversa con poderes $(1/2)^n, n=0,1,2,...$

2voto

Matthew Puntos 78

Acaba de hacer una división larga!

11 | 10011 | 110.0101...
1100
----
111
110
---
100
11
---
100
11
---
 1 (se repite)

Así 10011 / 11 = 110.0101... (aka 19 / 3 = 6.33...)

Binario de la división larga es un poco más de decimales división larga, ya que se necesita más dígitos a escribir cada número, pero encontrar el mayor múltiplo de su divisor que se ajuste es bastante trivial cuando es 0 o 1 veces.

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