所以我有变量:
uint8_t version = 1;
uint8_t ttl = 1;
uint16_t payload_length =
uint32_t account_identifier = 24027;
uint32_t source_address = 0;
uint32_t destination_address = 0;
uint16_t checksum = 0;
uint16_t protocol = 1;
我想以网络字节顺序生成所有值。
我知道将htons()
用于16位值,将htonl()
用于32位值。
所以我会这样做:uint32_t source_address = htonl(0);
和uint16_t checksum = htons(0);
我应该对8位值使用什么?
答案 0 :(得分:2)
我应该对8位值使用什么?
无。 1字节(8位)值没有“字节序”。所以你不必担心它们(这就是为什么它们没有hton
功能的原因。)
答案 1 :(得分:1)
8位值只有一个字节,因此它们在哪个字节顺序中确实无关紧要 - 它们将是相同的。所以什么都不用:)。
答案 2 :(得分:0)
我应该将什么用于8位值。
无。你不能把一个字节按顺序排列。