如何將字節數組uint8_t[8]
的八個值附加到一個變量uint64_t
?如何在C++中追加字節數據?
uint8_t array[8] = { 0xe4, 0x52, 0xcb, 0xbe, 0xa4, 0x63, 0x95, 0x8f };
uint64_t result = 0;
for(int i = 0; i < sizeof(array); ++i)
{
// what to do here?
}
在上面的例子,result
應該結束了的值0xe452cbbea463958f
。我正在尋找一個通用的解決方案,它不會綁定到陣列中的八個元素。
'result << = 8; result | = array [i];' – 2013-08-31 20:15:07
@ H2CO3:是的,那樣做。一個人可以被拋到另一個嗎? –
@RobertHarvey據我所知,沒有(嚴格的別名)。不過,如果機器是big-endian(現在不太可能),可以使用'memcpy()'。 – 2013-08-31 20:16:59