bonsoir
est ce que quelqu'un peut m'aider je n'arrive pas à incrementer ma variable x de 0.5 à chaque passage dans la boucle
x est le montant en euros que je dois multiplier par la variable francs (40.3399)
x vaut 0.5 je mets le debogeur
j'ai essayé de voir les registres mais j'arrive pas à les mettre en valeurs decimales (xmm0 ...
j'ai regardé avec le debogueur et le inc x ça donne x=0.5000006 au lieu de x = 1.000
et quand ça repasse dans la boucle le inc x ça donne x = 0.5000012 au lieu de x = 1.5000
je n'arrive pas à incrementer de 0.5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 #include <stdio.h> int nbl=11; double francs=40.3399; int i =1; float x=0.5;//problème avec increase si float x = 0.5 comment ecrire les virgules et incrementer x et pas x= 0.51 double resultat; double y =0.5000; char acFormatAffichage[]="\n%f euros est egal a : %f francs "; void main() { _asm { debutbcl: cmp i,11 jnb finbcl addss xmm0,x cvtss2sd xmm1,xmm0 mulsd xmm1,francs movsd resultat,xmm1 push dword ptr resultat +4 push dword ptr resultat push dword ptr x push offset acFormatAffichage call dword ptr printf add esp,16 inc i movsd xmm5,y addsd x,xmm5 jmp debutbcl finbcl: mov i,12 }scanf("%d",&i); }
Partager