2016-10-01 71 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);