Касаемо даты.
Можно хранить число дней прошедших с начала текущего века. Получаем максимальное значение 365*100=36500. То есть влазим в 2 байта. А с двумя байтами работать у нас проще. А числа более максимально возможного числа можно рассматривать как даты в предыдущем столетии от начала нынешного (так сказать "до нашей эры"). Это ~29035 дней, которых хватит на 79 лет.
Для отдельных случаев можно добавлять третий байт - номер столетия. Думаю лучше всего -128...+127. Видеться, что этого периода хватит на все вменяемые даты.
А если время округлить до минут, то в сутках 1440 минут, так же для работы с ним хватит 2-х байт.
Нужны секунды, задействуем ещё один байт. Но храним там число секунд 0-59.
Такая схема избавит от необходимости иметь процедуры арифметики трёх байтных чисел.




Ответить с цитированием
