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