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.11102011170.218750.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.1000100.468751.1100100.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 .231.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.