Obtenez-vous les mêmes résultats que moi ?
Publié : mar. 13/oct./2015 10:36
Bonjour à tous
Avant de poster sur le forum anglais je voudrais savoir si vous obtenez les mêmes résultats que moi.
La bizarrerie est dans le passage par une variable intermédiaire pour obtenir un résultat.
A+
Avant de poster sur le forum anglais je voudrais savoir si vous obtenez les mêmes résultats que moi.
La bizarrerie est dans le passage par une variable intermédiaire pour obtenir un résultat.
Code : Tout sélectionner
Macro _q_t_
"
EndMacro
Macro _n (__n)
_q_t_#__n#=_q_t_+Str(__n)+" "
EndMacro
Procedure.d Fact(n.l)
EnableASM
FINIT
FLDZ
;si n négatif pas de combinaisons
TEST dword [p.v_n], $80000000
JNE fact_end
FLD1 ;résultat dans st0
;si n inférieur à p pas de combinaisons
!FACT_loop:
;tant que n > 0
CMP dword [p.v_n], 0
JLE fact_end_loop
;calcule les combinaisons
FIMUL dword [p.v_n]
DEC dword [p.v_n]
JMP FACT_loop
!fact_end_loop:
FRNDINT
!fact_end:
RET 4
DisableASM
EndProcedure
val.d=1000
For i=1 To 5
Debug val/fact(i)
res.d=val/fact(i); malgré des valeurs positives réelles le résultat est toujours ZERO
factd.d=fact(i) ; il faut passer par une variable intermédiaire pour obtenir un résultat
Debug _n(fact(i))+_n(val/fact(i))+_n(res)+_n(factd)+_n(val/factd)
Next