123Fermer125
PolluxLe 14/07/2007 à 18:09
Hippopotame (./121) :
Pollux (./118) :
Je vois très bien ce que tu as écrit, et je crois que ton problème vient de ce que tu considères chaque fonction comme une machine avec un comportement bien déterminé. C'est une vision erronée : peut-être que ça peut être implémenté comme ça, mais la spécification autorise bcp plus de comportements que ça (y compris des comportements non-déterministes).

naplu de genou.
"l'expression float_of_int(N+N-N) n'est pas toujours équivalente à float_of_int(N)+float_of_int(N)-float_of_int(N)" ?

Bha voui.Oh la la il faut tout te mâcher !

Ben alors c'est exaactement ce que je dis dans le paragraphe qui t'a fait perdre les genoux : un bout de programme n'est pas une boîte noire, et on peut dire "l'expression N+N-N n'est pas toujours équivalente à l'expression N+N-N" (un même compilo peut décider une fois sur deux de faire un programme qui renvoie N ou de faire un programme qui formatte le disque dur, ce qui n'est pas complètement équivalent hehe).

Donc cette notion d'équivalence ne sert vraiment à rien dans un langage qui permet des undefined behaviour ; ce qu'on utilise en C c'est plutôt "ces deux programmes font exactement la même chose lorsque le premier ne déclenche pas d'undefined behaviour" (oui, c'est pas une relation d'équivalence tongue c'est plutôt la relation "peut être remplacé par"). Dans ce sens-là "N+N-N" est "N+N-N" deviennent effectivement équivalents, puisque le premier fait toujours une undefined behaviour. Et alors "float_of_int(N+N-N)" peut bien être remplacé par "float_of_int(N)+float_of_int(N)-float_of_int(N)" smile
D'ailleurs je ne vois pas pkoi tu me parles de la base 2, les entiers signés de C pourraient tout aussi bien être représentés en base 3 ou 5 sans aucun impact sur la performance smile Donc dire qu'ils représentent des entiers 2-adiques et pas 3-adiques ou 5-adiques, c'est complètement preposterous cheeky

Mais non mon bon Pollux, la base 2 est importante.Tu devrais lire monsieur Zlu plus souvent. Il faut que tu sois en communion avec l'ordinateur.

La base 2 n'a aucune espèce d'importance ^^