gpt4 book ai didi

c - 位移是否正确地隔离了不同字节序系统上的字节?

转载 作者:行者123 更新时间:2023-12-01 08:59:43 26 4
gpt4 key购买 nike

我正在尝试将整数写入字节缓冲区。无论系统的字节序如何,下面的代码是否总是以大端格式写入:

byte[0] = (uint8_t) (val & 0xFF000000) >> 24;
byte[1] = (uint8_t) (val & 0x00FF0000) >> 16;
byte[2] = (uint8_t) (val & 0x0000FF00) >> 8;
byte[3] = (uint8_t) (val & 0x000000FF);

很遗憾,我无法访问 htonl() 和类似函数。

最佳答案

是的,这会正常工作。位移运算符处理抽象数值,而不是它们在硬件寄存器或 RAM 中的表示方式。 >> N 本质上等同于除以 2N

关于c - 位移是否正确地隔离了不同字节序系统上的字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33266450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com