[C] que fait cette fonction ?
pom
-
pom -
pom -
Bonjour, j'ai repris un code mais je ne comprends pas ce que fait cette foncion :
Que veut dire
Et si maintenant mon PC est sur 64 bits, comment modifier cette fonction ? Simplement en remplacent int32_t par int ?
Merci.
/* assume 32 bit int */
typedef int int32_t;
typedef unsigned int u_int32_t;
/* assume little endian */
typedef union
{
double value;
struct
{
u_int32_t lsw;
u_int32_t msw;
} parts;
} ieee_double_shape_type;
/* Get the more significant 32 bit int from a double. */
#define GET_HIGH_WORD(i,d) \
do { \
ieee_double_shape_type gh_u; \
gh_u.value = (d); \
(i) = gh_u.parts.msw; \
} while (0)
Que veut dire
gh_u.value = (d); \ (i) = gh_u.parts.msw;
Et si maintenant mon PC est sur 64 bits, comment modifier cette fonction ? Simplement en remplacent int32_t par int ?
Merci.
A voir également:
- [C] que fait cette fonction ?
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
1 réponse
blarf,
au hasard, je dirais que la fonction fait :
Si tu ne comprends pas comment elle fonctionne, je te suggère d'aller relire un tutoriel C sur les structures (et les unions).
Bon travail
au hasard, je dirais que la fonction fait :
/* Get the more significant 32 bit int from a double. */
Si tu ne comprends pas comment elle fonctionne, je te suggère d'aller relire un tutoriel C sur les structures (et les unions).
Bon travail
pom
Mon pb n'est pas dans l'utilisation des unions et structure mais dans l'algo.