Multiplication de points fixes avec des nombres négatifs


8

Je suis perplexe sur un problème simple. Disons que j'ai deux nombres de 4 bits au format Q0.3. Un bit de signe et trois bits fractionnaires. Je peux donc représenter à .−10.875

Disons maintenant que je souhaite faire ce calcul: . Lequel est:−0.25×0.875

−223×723

Ce qui signifie que je multiplie ( ) par ( ). Bien sûr, la réponse est ou utilisant le numéro Q0,3 le plus proche.1110−201117−0.21875−0.25

Faisons le travail.

1110×0111=01100010

qui, lorsqu'il est considéré comme un numéro , est , ce qui correspond à dans mes livres. Pourquoi est-ce incorrect? J'attends une réponse de ( ).1.100010−0.468751.110010−0.21875

Qu'est ce que j'ai mal fait?

Réponses:


10

Lors de la multiplication des nombres complémentaires de deux, vous devez effectuer des extensions de signe aux opérandes pour atteindre le nombre de chiffres que votre multiplication produira, c'est-à-dire dans votre cas chiffres.4+4=8

111111102×000001112=111100102

Comme il y a bits fractionnaires, le résultat est . La normalisation de ce nombre à bits fractionnaires au format donne .2∗31.1100102=−1426=−0.2187531.1102=−0.25

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.