我对几个成为这些值的十六进制值感到困惑。我一直在玩这些价值观,我无法理解。也许这里有人可以告诉我这些值如何显示为十六进制或反之亦然。当我得到这些值时,它们是相反的十六进制顺序。我从左到右命令它们使事情更简单(我99%确定这些值应该是相反的顺序,因为我得到的其他值是相反的顺序)。
如果有人能帮我解决这个问题,我会谦卑地感激它!谢谢!
原始数据:
00F0C46C38F0C46C38FEFFFFFFFDFFFF
原始数据以4字节为单位以十六进制的相反顺序排列。
我知道结构是正确的,因为程序正在运行并正确创建表,每列中只有一些值处理不同。
谢谢!
答案 0 :(得分:4)
您的字节顺序错误。第一个字节似乎是死区或以其他方式占用,我打赌你离FF
离开你向我们展示的结尾。
分成单词:
00 F0C46C38 F0C46C38 FEFFFFFF FDFFFF
现在,反转前两个单词的字节顺序,你得到:
0x386CC4F0 = 946652400
哪个是
$ date -ur 946652400
Fri Dec 31 15:00:00 UTC 1999
在UTC+9 time zone的2000年1月1日午夜。太接近巧合了,我猜你或者你从那里得到的数据来自那个时区。
现在,接下来的两个字按正确的字节顺序排列:
FFFFFFFE
FFFFFFFD
猜猜是什么? Two's complement表示-2和-3。