gpt4 book ai didi

c - htobe64 和 endian.h 的可移植性

转载 作者:行者123 更新时间:2023-12-04 12:09:23 24 4
gpt4 key购买 nike

我需要将我在运行我的代码的任意机器上接收到的 8 个字节按大端顺序排列。我相信我可以为此使用 htobe64 函数,但我不确定它的可移植性 - 即 endian.h 的可用性 - 跨不同的机器架构编译我的代码时的操作系统。这是一种安全的可移植方法,还是使用其他方法更好?

最佳答案

请使用以下可移植的方法:

#include <stdint.h>

void write64be(unsigned char out[8], uint64_t in)
{
out[0] = in >> 56 & 0xff;
out[1] = in >> 48 & 0xff;
out[2] = in >> 40 & 0xff;
out[3] = in >> 32 & 0xff;
out[4] = in >> 24 & 0xff;
out[5] = in >> 16 & 0xff;
out[6] = in >> 8 & 0xff;
out[7] = in >> 0 & 0xff;
}

关于c - htobe64 和 endian.h 的可移植性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27770799/

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