我有一个程序可以将一些数据保存到NFC标签。 NFC标签仅有一些内存字节。因为我需要以分钟(十进制)的形式保存日期和时间到标签,我需要以尽可能高效的内存方式保存它。例如,十进制数23592786需要36位,但如果十进制数转换为base36值,则只需要25位内存。
答案 0 :(得分:0)
编号23592786需要25位,因为此数字的二进制表示为25位长度。如果日期范围有限,您可以保存一些位。一年包含大约526000分钟,因此从2000年1月1日0:00开始的分钟间隔(任意开始日期)将占用24位(3字节)并表示日期到2031年。
答案 1 :(得分:0)
最简单的可能是使用Unix time这给出了自1970年1月1日以来的秒数,这通常需要32位。正如MBo所说,你可以通过计算分钟数或选择更近的开始日期来减少6位数。然而,使用行业标准具有优势。根据您的应用程序,您可以将其缩小到2个字节,这可能代表大约45天。