我的应用程序中有一个包含以下数据的 8 字节数组:
00000133339e36a2
此数据代表一个 long(在写入数据的平台上,在 Mac 上这将是一个 long long),其值为
1319420966562
在实际应用中这是一组半随机化的数据,所以数字总是不同的。因此,我需要将字节数组转换为可打印的 long long。
我试过将数据直接转换成 long long,但我想出了
1305392
我应该在哪里看到上面的数字。
对于那些在 C 字节操作方面比我更有经验的人,我将如何正确地将字节数组转换为 long long?
编辑:奇怪的是,您所有的解决方案都输出相同的数字:866006690。这是数据的最后四个 字节的十进制等效值。
最佳答案
这似乎是 union 有用的(罕见)情况之一:
union number
{
char charNum[16];
long long longNum;
};
关于将 C 字节数组转换为 long long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7879953/