我有一个 char 数组,有 8 个位置(char data[8];),这个数组上有一个 unsigned long long int 值(8 个字节大小)... data[0] 有 long long 的第一个字节int, data[1] 有第二个,依此类推。我的问题是如何将该值再次放在 unsigned long long 变量上?
我试过换班,但值不等于原始值,我怎么能在不改变原始数组的情况下做到这一点......
字节的顺序是 little endian 变量的正常顺序(从高位到低位)
这是一个打印与预期不同的值的代码。
char vec[8]={0,0,0,0,0,0,0,1};
unsigned long long value = *((unsigned long long*) vec);
std::cout<<value;
return 0;
结果应该是 1,而是 72057594037927936。感谢您的耐心等待。