Bonjour,
Je suis en train de lire un livre sur le fonctionnement des ordinateurs, et l’un des exercices demande d’écrire une fonction qui vérifie si l’ordinateur est oui ou non en "little endian". De plus, cette fonction doit fonctionner sur n’importe quelle machine, quelle que soit la taille du mot(ça se dit comme ça?).
J’ai écris la mienne, mais je ne suis pas sûr qu’elle fonctionne pour toute taille de mot, et j’aimerai avoir votre avis :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <stdio.h> typedef unsigned char *byte_pointer; int is_little_endian(void); int main() { printf("%d", is_little_endian()); return 0; } int is_little_endian(void){ byte_pointer bp; unsigned int real_value = 0x1234; bp = (byte_pointer) &real_value; if(*bp == 0x34) return 1; return 0; } |
Merci d’avance.
+0
-0