Je construis un message pour envoyer un numéro de 24 bits sur le réseau. Pour de petites machines endian, le code est (PTR est le pointeur vers le tampon de message):Comment écrire un message 24 bits après avoir lu à partir d'un entier de 4 octets sur une machine big endian (C)?
*ptr++ = (num >> 16) & 0xFF;
*ptr++ = (num >> 8) & 0xFF;
*ptr++ = (num) & 0xFF;
(Donc, si NUM0, num1, num2 et num3 sont les octets qui composent num, le message serait encodée comme num2|num1|num0
.)
Quel devrait être le code pour l'encodage num2|num1|num0
sur un big endian machine?
Merci à tous pour vos réponses. Sera-t-il correct de résumer les réponses comme suit: – Bikash
@Bikash, vous frappez entrer trop tôt? :-) –
1. Mon protocole nécessite que l'ordre des octets du message soit big endian – Bikash