Division décimale en assembleur
Je n'espère pas vraiment la réponse ici mais je la pose quand même...
Je voudrais faire une division réelle et pouvoir afficher les décimales d'un chiffre facilement. Pour être concrêt : Je dois écrire un programme pour mon examen qui résout une équation du premier degré à n inconnues. Afin de résoudre mon problème de décimale, j'ai tout transformé en fraction et fait le calcul en fractions. Par contre, je voudrais quand même afficher le résultat en nombre décimale... Exemple : x = 17/22 = 0,77272727... Est-ce que quelqu'un a une vague idée de comment cela fonctionne ? :hello: |
Tu as essayé les modulos ?
%, qui permet de fournir le reste de la division... (en tous cas c'est ce que je fait en python, il doit y avoir un equivalent dans ton langage...) |
Le truc, c'est que ... non :loose:
Il n'y a rien en assembleur comme truc du genre. Déjà, pour diviser tu utilises les registres d'opérande qui n'acceptent pas la décimale. En fait la seule possibilité est de se créer une fonction qui fait la division en récupérant le reste et puis qui redivise le reste, etc... Ensuite de faire des ces divers résultats, un nombre que tu multiplies par 10 puis 100, etc. et enfin d'afficher séparément la valeur unitaire, puis afficher le caractère virgule ou point puis ce que tu as calculé... Vraiment casse-burne quoi :ouin: |
Citation:
Les décalage de bit, les registres et tout le tralala, ma nature impatiente détestait tout ce qui était bas niveau :lol: |
Citation:
(sorry) |
Bah finalement je n'afficherai que des fractions; les 50 lignes de codes n'en valent pas la peine... :tongue:
|
Tu as posé ta question ailleurs ? t'as eu des réponses ? :hello:
|
J'en ai discuté avec un pote du cours :hello:
|
Pour faire ce genre de truc à l'époqe du 8088, j'utilisais les décalages en base 10.
Le système des modulos (AX/EAX ou DX/EDX, me rappelle plus) fonctionne aussi mais force une structure de type boucle REPNZ (pour une division juste) ou LOOP (avec en gros CX égal au nombre de décimales) qui est tout sauf esthétique. /Tgx |
Citation:
:tusors: C'est marrant je suis pile en train de faire les équation en cours :lol: |
Fuseau horaire GMT +2. Il est actuellement 18h34. |
Powered by vBulletin® Version 3.7.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Version française #19 par l'association vBulletin francophone