いくつかの短い整数とそれらが表す日付を考えると、それらがこの形式でどのように格納されているかを判断し、他の日付をデコードする体系的な方法はありますか? 保存されたデータは、別のソフトウェアからのものです。
5 月 1 日の最初のバイトから 2 月 11 日の最初のバイトを差し引いたものが正しい日数 (2011 年は 79) に等しいので、最初は日数がいずれかのバイトで表されていると考えていました。しかし、8 ビットでは 256 日しか格納できないだけでなく、2000 年より前の日付は年のみを両方のバイトで格納できるため、それほど単純ではありません。
ここに私が取り組んでいるものがありますが、列見出しを一粒の塩で考えてください。
DDDDDDDD YYYYYYYY DD-MM-YY
01011010 10001010 1955
10110010 10010001 1960
11000000 10010001 1961
11100011 11000011 1996
01010001 11000110 1997
00001101 11001000 1999
10000000 11001001 10-02-00
11010101 11001010 16-01-01
10101010 11001101 11-01-03
00000101 11010000 05-09-04
10011101 11010101 07-08-08
11010000 11010101 27-09-08
00010000 11010110 30-11-08
00110100 11010110 05-01-09
11111110 11010110 26-07-09
10011101 11010111 01-01-10
10110111 11011000 10-10-10
00110011 11011001 11-02-11
00111010 11011001 18-02-11
10000010 11011001 01-05-11
10000101 11011001 04-05-11
01101100 11100110 19-05-20
また、30-11-08 の 2 番目のバイトは 05-01-09 と同じであり、逆に 2010 年の 2 つの日付の 2 番目のバイトの値は異なります。
編集: 回答といくつかの調査のおかげで、エポックは 1858 年 11 月 17 日であることがわかりました。これは修正ユリウス日と呼ばれる標準形式です。