2010-02-20 6 views
-1

Est-ce que quelqu'un sait comment résoudre ce problème?Biaise de la mantisse en virgule flottante

* a = 1.0 × 2^9 
* b = −1.0 × 2^9 
* c = 1.0 × 2^1 

Utilisation de la virgule flottante (la représentation utilise un format de 14 bits, 5 bits pour l'exposant avec un biais de 16, une mantisse normalisée de 8 bits, et un bit de signe unique pour le nombre), effectuer les deux calculs suivants en portant une attention particulière à l'ordre des opérations.

* b + (a + c) = ? 
* (b + a) + c = ? 
+0

réordonnancement recherche –

+0

S'il vous plaît nous montrer vos efforts. –

+7

C'est clairement une question de devoirs. Bien sûr, il est possible de demander de l'aide pour vos devoirs sur SO, mais vous devez nous montrer ce que vous avez essayé et spécifier ce qui vous cause de la confusion. Utiliser le tag "devoirs" serait également une bonne idée. – MatrixFrog

Répondre

0
S EEEEE MMMMMMMM 
0 11001 10000000 a 
1 11001 10000000 b 
0 10001 10000000 c 

0 11001 00000000 c, denormalized (uh oh!) 

Si je fais ce droit, il semble que vous ne pouvez pas dénormaliser c à un exposant de la, vous finissez par ajouter 1 à 1 avec le même exposant, et si vous vous avec 0. Je crois que c'est une leçon sur les limitations de l'ajout d'un petit nombre à un grand nombre dans un format en virgule flottante.

Je vais laisser le deuxième problème pour vous ...

Questions connexes