x
我想通过套接字传递一个 32 位有符号整数。为了让接收者知道期望哪个字节顺序,我htonl(x)
在发送之前调用。htonl
期望 auint32_t
虽然,我想确定当我将 myint32_t
转换为 a时会发生什么uint32_t
。
int32_t x = something;
uint32_t u = (uint32_t) x;
x
和each中的字节是否总是u
完全相同?怎么回滚:
uint32_t u = something;
int32_t x = (int32_t) u;
我意识到负值转换为大的无符号值,但这并不重要,因为我只是在另一端回退。但是,如果强制转换与实际字节混淆,那么我不能确定强制转换会返回相同的值。