2016-10-01 39 views
-1

如何将u8数组转换为u32?如何将u8数组转换为u32?

例如:

u8 a[4]; 
u32 b; 

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

如何到阵列的(8bitx4 = 32位)至b(32位)转换?

+0

您希望您的示例代码返回哪个32位数字? – Wormbo

+0

无符号32位@Wormbo – user126623

+0

我的意思是确切的值。 0x00000009,0x09000000或其他任何你可能想到的。 – Wormbo

回答

-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);