Re,
J'ai donc enlevé les do et les while(0).
InOCamlWeTrust, j'ai bien testé ton code :
1 2 3 4 5 6
|
#include <assert.h>
struct double_decomposition { u_int32_t lsw; u_int32_t msw; };
assert(sizeof(double) == sizeof(struct double_decomposition)); |
et ça marche. Mais rien ne dit que cela marchera sur un autre PC donc ce code n'est pas portable.
L'union extrait les 32 bit de poids fort et faible. Cela suppose que je suis en 64 bits non ? Et si j'ai un PC 32 bits, quel sera le résultat ? Là, je ne suis pas du tout le roi de la représentation des nombres en machine.
Merci de vos explications en tous les cas.
Partager