【问题标题】:How to convert u8 array to u32? [duplicate]如何将u8数组转换为u32? [复制]
【发布时间】:2017-02-09 19:13:48
【问题描述】:

如何将u8数组转换为u32?

例如:

u8 a[4];
u32 b; 

a[0] = 0x00;
a[1] = 0x00;
a[2] = 0x00;
a[3] = 0x09;

如何将数组a(8bitx4=32bit)转换为b(32bit)?

【问题讨论】:

  • 您希望示例代码返回哪个 32 位数字?
  • 无符号 32 位 @Wormbo
  • 我的意思是确切的值。 0x00000009、0x09000000 或您可能想到的任何其他内容。
  • 0x00000009 @Wormbo

标签: c arrays int hex


【解决方案1】:
unsigned char a[4];
unsigned int b;

a[0] = 0x00;
a[1] = 0x00;
a[2] = 0x00;
a[3] = 0x09;

int n = 1;
if (*(char *)&n == 1) {
    std::reverse(std::begin(a), std::end(a));
}

b = *reinterpret_cast<unsigned int *>(&a);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    相关资源
    最近更新 更多