Franconaute

Franconaute (http://www.franconaute.org/forum/index.php)
-   Hardware, software (http://www.franconaute.org/forum/forumdisplay.php?f=6)
-   -   Division décimale en assembleur (http://www.franconaute.org/forum/showthread.php?t=5797)

Schnick 22/05/2007 16h20

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:

Geek lâcheur 22/05/2007 18h06

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...)

Schnick 22/05/2007 23h15

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:

Lafrite 22/05/2007 23h28

Citation:

Vraiment casse-burne quoi
C'est exactement le souvenir de mon cours d'assembleur :chicos:

Les décalage de bit, les registres et tout le tralala, ma nature impatiente détestait tout ce qui était bas niveau :lol:

Dandy 22/05/2007 23h48

Citation:

Envoyé par Lafrite
Les décalage de bit

Un petit coup de chirurgie et normalement tout ça sera vite redressé ! :mrgreen:

(sorry)

Schnick 23/05/2007 01h15

Bah finalement je n'afficherai que des fractions; les 50 lignes de codes n'en valent pas la peine... :tongue:

Geek lâcheur 23/05/2007 06h47

Tu as posé ta question ailleurs ? t'as eu des réponses ? :hello:

Schnick 23/05/2007 07h42

J'en ai discuté avec un pote du cours :hello:

Tgx 23/05/2007 08h08

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

Krae 26/05/2007 13h43

Citation:

Envoyé par Dandy
Un petit coup de chirurgie et normalement tout ça sera vite redressé ! :mrgreen:

(sorry)


: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