160Fermer162
PolluxLe 15/07/2007 à 03:00
Hippopotame (./160) :
Pollux (./159) :
et est-ce que le type d'un entier 32 bit et d'un float 32 bit est différent ?

Moralement, oui.
Par exemple ton float peut être codé en BCD, à ce moment là on aura du mal à faire rentrer un entier dedans même si c'est le même nombre de bits.

Donc en gros tu appelles "type" le nb d'éléments distincts ? ^^
Pour le reste, oky dokky, mais bon je persiste à trouver ça byzarre de s'autoriser des expression incorrectes comme ça.

Tu veux dire le fait de ne pas déclencher une exception en présence d'erreurs ? Oui, c'est très byzarre, et c'est d'ailleurs une source de problèmes ^^
Cela dit sur le plan théorique ça ne pose pas de pb, puisque de toute façon on raisonne sur des programmes qui ne font pas n'importe quoi, donc entre ça ou un langage qui lancerait une jolie exception il n'y a pas trop de différence ; ce qui pose pb c'est quand on teste un programme buggé, si c'est du C on ne peut pas savoir si y a un pb ou pas...

Et puis le fait que ça soit une undefined behaviour ou une exception n'a pas d'incidence sur ce qu'on a dit dans le reste du topic, je crois, donc ça reste valable pour tous les types entiers qui lancent une exception en cas d'overflow -- sous réserve évidemment que l'exception ne soit pas rattrapée par le reste du programme, parce qu'à ce moment-là ne pas lancer d'exception change radicalement le sens du programme.