Accueil > Forum > > > > Tronquer un nombre
Tronquer un nombre
lundi 6 septembre 2004 à 08:45:38 |
Tronquer un nombre

leclair2000
|
Bonjour! J'aimerais savoir comment on doit s'y prendre pour tronquer un nombre en assembleur? ex : 5.12345 -> 5.12 Merci d'avance
|
|
lundi 6 septembre 2004 à 09:16:39 |
Re : Tronquer un nombre

ToutEnMasm
|
Salut, une fois le nombre transformé en caracteres ascii , chercher le point ,compter le nombre de décimales voulues ,rajouter le zero de bout de chaine. ToutEnMasm
|
|
lundi 6 septembre 2004 à 23:47:17 |
Re : Tronquer un nombre

CoreBreaker
|
Si ton nombre est en virgule fixe dans un entier comme ceci: pour représenter le nombre 1235.12345 avec 5 chiffres après la virgule, il suffit de faire: num / 100000 * 100000 ou num - (num modulo 10000) ainsi: mov ebx, 100000 mov eax, [num] div eax, ebx mul ebx |
ou mov ebx, 100000 mov eax, [num] mov edx, 0 div ebx ; le résultat du modulo est dans edx mov eax, [num] sub eax, edx |
Si ton nombre est en bcd compacté ainsi: | num db 45h, 23h, 51h, 23h, 01h |
il suffit de placer des zéros ainsi mov word ptr [num], 0 and byte ptr [num+2], 0F0h |
Si maintenant tu utilise le fpu, ainsi num dd 1235.12345 res dd 0 |
Il suffit de faire ainsi: ; On modifie le mot de controle ; pour activer la troncature lors d'un FRNDINT fldcw word ptr [res] or byte ptr [res], 0Ch fstcw word ptr [res]
fld [num] frndint fstp [res]
| Core Breaker 
|
|
mardi 7 septembre 2004 à 09:57:42 |
Re : Tronquer un nombre

leclair2000
|
C'est cool,
Mais en fait, je me suis mal exprimé et je m'en excuse!
En fait, je dois trouver un algoritme faisable en assembleur pour convertir un nombre en un nombre à deux chiffres significatifs et j'ai vraiment aucune idée...
|
|
mardi 7 septembre 2004 à 11:43:42 |
Re : Tronquer un nombre

BruNews
|
multiplie par 100 frndint divise 100
ciao... BruNews, Admin CS, MVP VC++
|
|
mardi 7 septembre 2004 à 22:43:47 |
Re : Tronquer un nombre

CoreBreaker
|
Réponse acceptée !
Je suppose donc que tu veux dire que tu veux 2 chiffres significatifs après la virgule. Tu peux faire ta tronquature à 2 décimales en virgule fixe avec l'exemple que je t'ai donné, c'est à dire avec une précision de 5 décimales. Il suffit de reprendre l'exemple que je t'ai donné mais de changer le diviseur. En effet, l'exemple que j'ai donné est une troncature à l'unité, pour obtenir une troncature à 2 décimales avec un diviseur de 1000 (= 100000 / 100) mov ebx, 1000 mov eax, [num] mov edx, 0 div ebx ; le résultat du modulo est dans edx mov eax, [num] sub eax, edx |
Avec le fpu, la troncature à 2 décimales donne: num dd 1235.12345 res dd 0
...
; On modifie le mot de controle ; pour activer la troncature lors d'un FRNDINT fldcw word ptr [res] or byte ptr [res], 0Ch fstcw word ptr [res]
mov [res], 100.0 fld [res] fld st fld [num] fmul frndint fdivr fstp [res] | Core Breaker 
|
|
Cette discussion est classée dans : nombre, tronquer
Répondre à ce message
Sujets en rapport avec ce message
petit problême FPU [ par prunkdump ]
Bonjours, voilà je voudrais savoir comment afficher un nombre à vigule flottante lorsqu'il est en mémoire. Plus simplement comment convertir un nombre
conversion de nombre [ par jolindji ]
bonjour a tous... j'ai besoin d'un petit programme qui effectuerai la conversion d'un nombre entré au clavier en base 2,8,10,16ou quelque choes qui y
Comment convertir une chaine de caractere en nombre [ par davidv ]
Voila,comment une chaine de caractere "12" par exemplepeut elle etre convertie en nombre 12.merci a tousdavidV
GENERATUER NOMBRE ALEATOIRE EN ASM [ par fser ]
| -= Fr@nçois =- | (cliquez pour m'envoyer un mail)mon siteMERCI DE FAIRE PARVENIR UN PROGRAMME EN ASSEMBLEUR POUR 68 HC 11 POUR GENER
Avez-vous des algorithmes pour la génération de nombre aléatoire? [ par Rigel Io ]
Salut, ma question est donc assez simple je voudrai seuleument savoir comment générer des nombres aléatoires. Je voudrai savoir car à chaque fois que
Aide nombre en asm 8086 16 bits [ par Maureka ]
je suis debutant en asm intel 16 bits.j'ai un projet à réaliser et cela consiste à faire un programme qui affiche la liste des nombres premiers compri
Probleme nombre signe et non signe [ par Crackshoot ]
Voila je voudrais cree un tit programme qui permet d'additionner des nombre negatif et posif mais je sais pas de quel maniere procede, j'arrive qu'a l
nombre aléatoire en asm 16f84 [ par sodhaine ]
Bonjour,Je suis un newbie-moyen en assembleur/électronique; j'essaie de faire un dé électronique en assembleur 16f84 (avec affichage sur écran LCD) e
[NEWBIE] Petit Probleme ! Aidez moi ! [ par xaminou ]
Voila , jaimerai cree une fonction qui calcule la suite suivante :Xn+1=Xn + (Xn2 or 5) qui prend en paramètre (dans la pile) l'adresse d'un nombre Xn
Afficher un nombre [ par MaxSoldier ]
Bonjours, je voudrais afficher un nombre mais j'ai toujours des erreur : J'ai donc 2 questions : Comment déclarer une variable qui contiendra des nomb
Livres en rapport
|
Derniers Blogs
[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1[ASTUCE] PATCH POUR MICROSOFT FORUMS NNTP BRIDGE V1 par pierre
Si vous avez téléchargé comme moi Microsoft Forums NNTP Bridge V1 avant le 11 mars 2010 (voir [Astuce] Disponibilité de Microsoft Forum NNTP Bridge Version 1.0), un problème de date localisée pour les non anglais était présent. Un patch est disponibl...
Cliquez pour lire la suite de l'article par pierre PB LORS DE L'INSTALLATION SHAREPOINT 2010.PB LORS DE L'INSTALLATION SHAREPOINT 2010. par Patrick Guimonet
Lors de l'installation de SharePoint 2010, j'ai rencontré un problème de plantage à l'étape 5 du configuration Wizard. Ca se termine sur cet écran : Et en analysant le fichier de journalisation, on remarque vers la fin des 15000 et quelques lign...
Cliquez pour lire la suite de l'article par Patrick Guimonet [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (2/2) par JeremyJeanson
Après mon précédent article qui attaque les contraintes par la fasse Nord de l'Everest. passons à la seconde possibilité offerte par WF4 pour valider une activité : la metadata . Je vous en ai déjà toucher un ou deux mots. La metadata dans WF4 est un élém...
Cliquez pour lire la suite de l'article par JeremyJeanson [WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2)[WF4] AJOUTER DES CONTRAINTES à UNE ACTIVITé (1/2) par JeremyJeanson
De WF3 à WF4 pas mal de choses on été changées pour faciliter la vie des développeurs, mais certain points peuvent sembler obscures. comme les contraintes. Pour vous guider, je me lance dans une série de deux articles. Ils présenterons deux approches poss...
Cliquez pour lire la suite de l'article par JeremyJeanson [ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT()[ASP.NET] NE PAS SE FAIRE AVOIR PAR IHTTPMODULE ET SA MéTHODE INIT() par tja
Beaucoup de développeurs pensent que lorsqu'on créé et enregistre un IHttpModule, il n'en existe qu'une seule instance et la méthode Init() sera appelée qu'une fois.
C'est faux
Cela peut vraiment créer des bugs subtils dont en ne se rend pas compte ...
Cliquez pour lire la suite de l'article par tja
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|