#include #include int main(int argc, char const *argv[]) { unsigned int data = 0x01020304; printf("主机字节序: "); for (int i = 0; i < sizeof(unsigned int); i++) { unsigned char byte = (data >> (i * 8)) & 0xFF; printf("%02x", byte); } printf("\n"); // 转成网络字节序(小端转大端) uint32_t data2 = htonl(data); printf("网络字节序: "); for (int i = 0; i < sizeof(uint32_t); i++) { unsigned char byte = (data2 >> (i * 8)) & 0xFF; printf("%02x", byte); } printf("\n"); // 将网络字节序转为主机字节序 uint32_t data3 = ntohl(data2); printf("转换后主机字节序: "); for (int i = 0; i < sizeof(uint32_t); i++) { unsigned char byte = (data3 >> (i * 8)) & 0xFF; printf("%02x", byte); } printf("\n"); return 0; }