Question

Je suis en train d'effectuer l'arithmétique en utilisant uniquement des mots signés 16 bits. Je dois être en mesure d'effectuer une addition, multiplication, etc.

À titre d'exemple, je dois soustraire deux valeurs de données, ci-dessous est un exemple: 7269,554688 à 46,8 ou 4385,6616210938 + 32,2

Cependant, ces valeurs doivent être converties en mots de 16 bits, puis la soustraction, la multiplication ou l'addition peut être effectuée.

Je pourrais aussi utiliser plusieurs mots de 16 bits pour stocker une valeur.

Comment puis-je faire pour effectuer des opérations comme l'addition, la soustraction et la multiplication et comment pourrais-je convertir toutes mes valeurs d'entrée de manière appropriée afin que les points de décimales ALWAYS correctement?

Était-ce utile?

La solution

Quelle plate-forme vous codant pour? Pour effectuer les opérations que vous avez donnés à titre d'exemple, vous auriez besoin d'une unité à virgule flottante. nombres à virgule flottante sont généralement représentés par 32 bits ou 64 bits, 16 bits rarement.

Si vous ne possédez pas et tout ce que vous avez sont des opérations simples sur 16 bits entiers, vous pouvez émuler une unité à virgule flottante, mais ce n'est pas une tâche triviale.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top