2011-06-26 26 views
6

Me han dado estas dos preguntas, y no puedo entender bien el punto flotante, así que si alguien pudiera ofrecer algunas indicaciones sobre cómo debería resolver estas preguntas, estaría muy agradecido.Límites de punto flotante

  1. ¿Cuál es la más pequeña y mayor número que se puede representar en 2s cumplido normalizó punto notación flotante con 10 bits de mantisa y exponente 6 bits?

  2. ¿Cuáles son los dos valores más cercanos a 0 posibles con la mantisa y el exponente anteriores. Piense dónde se produce el desbordamiento y el desbordamiento .

Respuesta

1

Si está hablando de una variante IEE754, puede examinar Wikipedia IEEE754-1985 y calcular los cálculos para el número completamente normalizado, dados los diferentes tamaños para la fracción y el exponente.

Olvídese del letrero por ahora, eso es solo un simple cambio de letra.

La fracción más grande es todo lo que uno-bits que, por una mantisa de diez bits, es:

 1 1 1 1 1 1 1  1  1  1 
    1 + - + - + - + -- + -- + -- + --- + --- + --- + ---- 
     2 4 8 16 32 64 128 256 512 1024 

= 1024 + 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 
    ----------------------------------------------------- 
          1024 

(los implícitos 1 más diez bits de fracciones cada vez reducir a la mitad). Eso es 2047/1024.

En cuanto al exponente, el valor no especiales más alto (valores especiales son cosas como NaN o ±Inf) para un exponente de 6 bits es 2 -2 o 62 (el rango es 0 a 62).

Pero, como necesitas exponentes positivos y negativos, restas 31 (el sesgo, la mitad del máximo valor no especial). Esto le da el rango de -30 a 31 (-31 se puede descontar aquí ya que no está normalizado).

Así que los valores más grandes y más pequeños (más negativos) son ±(2047/1024)x231 o ±4292870144.

De forma similar, los dos valores más cercanos a cero tienen un campo exponente de -30 (el mínimo normalizado) y un campo mantisa de todos los ceros que, con el implícito 1, le da 1.

Esos valores son ±(1)x2-30 o ±0.000000000931322574615478515625.

Debe imprimir esa página de Wikipedia y esta respuesta y sentarse con ambas hasta que las comprenda. No me importa ayudarlo aquí pero, si regurgita mi respuesta para su tarea, casi con toda seguridad será atrapado (si sus educadores tienen inteligencia, aunque no hay garantía de eso).

Para poner esta respuesta en sus propias palabras (y por lo tanto no quedar atrapados por plagio), usted tiene que entender ella.

+0

Muchas gracias paxdiablo. Echaré un vistazo a la página de Wiki y no, no voy a regurgitar tu respuesta. Hice mi pregunta para _aprender_objetos :-) – Bojangles

+0

He estado revisando todas mis viejas preguntas, y simplemente volví a leer esto responder. Volvería a votar nuevamente si pudiera, y siendo un año mayor lo entiendo mucho más que cuando publiqué esta pregunta. ¡Gracias por tu ayuda una vez más! – Bojangles

1

Tal vez debería echar un vistazo a estas páginas: 1, 2, 3, 4, 5, 6, 7

Espero que ayude, sin apenas dar las respuestas directamente. :)

Btw. ¿Has intentado hacer los cálculos a mano?

2

(I añadiría esto como un comentario, pero en algún momento perdido la capacidad de comentar. Tal vez por su reputación degrada de alguna manera en algún momento.)

Asegúrate de hacer una distinción entre lo "número más pequeño" significa, frente a lo que significa el "número más negativo". Estos son diferentes y podría perder crédito según la forma en que responda esto en su tarea. Dado que la segunda pregunta es pedir los números más pequeños representables en este formato, creo que se supone que la primera pregunta está pidiendo el número más negativo (el número negativo más alejado de cero, el número negativo con mayor magnitud).

Como se indicó en una respuesta anterior, le sugiero que los resuelva a mano.

Pregúntese: ¿Qué combinación de signo, exponente y mantisa crearía los números más grandes/más pequeños? Si sabe cómo la conversión de binario a decimal, creo que debería ser capaz de resolver fácilmente este problema. Si no lo sabes, entonces te sugiero que comiences allí y sigas subiendo.

+0

Necesita 50 representantes para comentar. Has_had_ 37, ahora estás de vuelta por encima de la línea. Usa bien ese poder, padawan joven :-) – paxdiablo

+0

(Lo siento por los comentarios irrelevantes a la pregunta, pero creo que no tengo un lugar mejor para preguntar esto y no entiendo.) ¿Cómo se pierde la reputación? ? No publiqué material inapropiado ni nada. –

+0

No tiene que ser inapropiado. Si publica una pregunta o respuesta que alguien considera que no es útil, pueden menospreciarlo (-2). Sin embargo, _nuna_ de sus preguntas o respuestas tiene votos abajo. Tienes cinco votos ascendentes de respuesta (* 10 = 50), votos ascendentes de 4 preguntas (* 5 = 20), 3 acepta respuestas a tus preguntas (* 2 = 6) y el punto que obtuviste cuando te uniste. Eso es 77, que es donde estás ahora. Es posible que haya dejado comentarios sobre sus propias preguntas y respuestas, que solo necesitan 1 representante. Esa es la explicación más probable. Ver http://stackoverflow.com/faq#reputation. – paxdiablo

Cuestiones relacionadas