gpt4 book ai didi

c++ - 如何将 unsigned char 数组转换为 unsigned long long?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:22:33 26 4
gpt4 key购买 nike

假设我有 8 个 unsigned char,我想将其转换为 unsigned long long。

例如,如果所有 char 都等于 0xFF,则 unsigned long long 将等于 0xFFFFFFFFFFFFFFFF。

使用 C 或 C++ 最有效的方法是什么?

最佳答案

例如:

unsigned char buffer[8] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
unsigned long long target;
memcpy(&target, buffer, sizeof target);

请注意,如果 buffer 的所有元素并非都具有相同的值,则结果将取决于字节顺序(小端与大端)。

这还假定 unsigned long long 恰好是 8 个字节。这通常是正确的,但不能保证。 (也不能保证一个字节恰好是 8 位;它可以更多。根据定义,unsigned char 是 1 个字节。)

关于c++ - 如何将 unsigned char 数组转换为 unsigned long long?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34780365/

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