la norme ANSI est au niveau de ton code source,
la norme qu'on exploite est la norme des flottants IEEE
Autrement dit, tu recopie le code source de isnan et tu défini toi-même la constante NAN.
Ou alors si ça t'amuse tu les recode.
Je me suis amusé à ça l'autre jour. En gros pour qu'un double soit NaN il suffit de mettre 0x7ff dans les 12 premiers bits et n'importe quoi de non nul dans les autres. (cf norme)
Pareil pour faire isnan, il faut mettre deux trois Xor bien placés.
conclusion
La norme IEEE est implémentée au niveau des processeurs, ANSI c'est juste de la portabilité au niveau code source, rien ne t'empêche donc de recopier ou de reécrire la constante et la routine. :-)
[^] # Re: Merci à tous
Posté par EraZerg . En réponse au message Marquer un double comme étant non élaboré.. Évalué à 2.
la norme ANSI est au niveau de ton code source,
la norme qu'on exploite est la norme des flottants IEEE
Autrement dit, tu recopie le code source de isnan et tu défini toi-même la constante NAN.
Ou alors si ça t'amuse tu les recode.
Je me suis amusé à ça l'autre jour. En gros pour qu'un double soit NaN il suffit de mettre 0x7ff dans les 12 premiers bits et n'importe quoi de non nul dans les autres. (cf norme)
Pareil pour faire isnan, il faut mettre deux trois Xor bien placés.
conclusion
La norme IEEE est implémentée au niveau des processeurs, ANSI c'est juste de la portabilité au niveau code source, rien ne t'empêche donc de recopier ou de reécrire la constante et la routine. :-)