它相当复杂,所以我需要解释一下:
我有一个结构,这个结构用了很长时间,用来读/写二进制文件。所以不能在这个结构中添加新的或删除任何字段。但是当我创建这个结构时,我在这个结构中放了一个备用,以便在功能中重用。现在,这个结构是:
struct Entry {
int a;
int b;
....
char spare[4];
};
现在我的结构中有 4 个字节。我需要根据以下 3 个信息创建 ID 条目:
时间:(月份和年份,年份格式为YY,月份格式为MM)。
Code:入口代码,包含3个字符,例如:ABC。
Values:入口的值,为浮点型,包括整数和小数部分的4位数字。例如:1.21、40.14 或 12.3。
基于以上 3 条信息,如何创建 1 个包含 4 个字节的 ID 条目。非常感谢。
注意:我有办法:
时间:假设 12/99 编码为 12*100+99 = 1299
代码:假设 ABC 编码为 'A' + 'B' + 'C' = 65 + 66 + 67 = 198。
值:假设 40.25 编码为 40.14*100 = 4014。
之后,我将 3 个数字 1299、198、4014 编码为:
ID_Entry = (1299 * 10^7) + (198*10^4) + 4014 = 1299 198 4014 = 12.991.984.014。但是这个 ID_Entry 太大而不能包含在 4 字节备用中
你有什么办法或改进我的办法,请告诉我,帮助我,非常感谢。
P/S:因此创建 ID 因此不能重复,在同一时间(月 + 年)代码和值不重复,如果 ts 不同时间,代码和值可以重复。