gpt4 book ai didi

c++ - 我如何表示十六进制数?

转载 作者:行者123 更新时间:2023-12-01 19:34:10 28 4
gpt4 key购买 nike

我有一个由 4 个十六进制元素组成的数组,我想将这些值表示为一个十六进制数

即:

int arr[4] = {0xD4, 0x9F, 0x2E, 0x4C};   
int result = 0xD49F2E4C; //The total number

我尝试过字符串连接,但结果不一样

如何做...

最佳答案

尽管您选择在源代码中使用它们的表示法,但它们不是十六进制、十进制或其他任何形式。

它们只是数字

所以,使用您通常用于数字的东西:算术!

考虑一下:

0xD49F2E4C = 0xD4000000 + 0x009F0000 + 0x00002E00 + 0x0000004C

因此,在这种情况下,按位运算符是您的 friend :

int result = arr[0] << 24;
result |= arr[1] << 16;
result |= arr[2] << 8;
result |= arr[3];

不过,您应该将所有这些内容设为无符号,以避免出现意外。在这个特定的实例中,我建议使用 uint32_t,这样您也知道结果变量的大小正确。

关于c++ - 我如何表示十六进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61188243/

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