Патенты автора Лапин Виталий Георгиевич (RU)

Изобретение относится к вычислительной технике и, в частности, к способу кодирования и преобразования даты для хранения. Технический результат заключается в увеличение диапазона значений даты практически до максимального, при сравнимой простоте и скорости вычислений, а также компактности хранений. Технический результат достигается за счет выделения для хранения данных о дате, включающей год, месяц и день, целое число длиной K бит, установки для отсчета фиксированной даты как первое января определенного года Y0, ввода значения текущего года Y, месяца М, дня D, и если D<31, то вычисляют целое число N для хранения данных о дате по формуле: N=366×(Y-Y0)+(М-1)×30+D, иначе при М=1 вычисляют целое число N по формуле: N=366×(Y-Y0)+60, а при М>1 вычисляют целое число N по формуле: N=366×(Y-Y0)+360+(М div 10+М) div 2, где div - операция целочисленного деления.
Изобретение относится к вычислительной технике и может быть использовано для кодирования и преобразования даты в цифровых устройствах. Техническим результатом является увеличение диапазона возможных значений даты. Способ содержит этапы, на которых выделяют для хранения данных о дате, включающей год, месяц и день, целое число длиной K бит; устанавливают для отсчета фиксированную дату как первое января определенного года Y0; вводят значения текущего года Y, месяца М, дня D; если D<31, то вычисляют целое число N для хранения данных о дате по формуле: N=367×(Y-Y0)+(М-1)×30+D; иначе вычисляют целое число N для хранения данных о дате по формуле: N=367×(Y-Y0)+361+(M div 10+M)div2, где div - операция целочисленного деления (деления с отбрасыванием дробной части); сохраняют число N в двоичном формате; вычисляют, при необходимости, дату по формулам Y=Y0+(N-1)div 367; вычисляют промежуточную величину A=(N-1)mod 367+1, где mod - операция взятия остатка от целочисленного деления; если А>360, то вычисляют: М=(А-360)×2-1-(А-360)div 5; D=31; иначе вычисляют: М=(А-1)div 30+1; D=(A-1)mod 30+1.

Изобретение относится к вычислительной технике и может быть использовано для кодирования и преобразования даты в цифровых устройствах. Техническим результатом является увеличение диапазона возможных значений даты. Способ содержит этапы, на которых выделяют для хранения данных о дате, включающей год, месяц и день, целое число длиной K бит; устанавливают для отсчета фиксированную дату как первое января определенного года Y0; вводят значения текущего года Y, месяца М, дня D; вычисляют целое число N для хранения данных о дате по формуле N=D+М*31+(Y-Y0)*372-32; сохраняют число N в двоичном формате; вычисляют при необходимости дату по формулам D=((N mod 372) mod 31)+1, M=((N mod 372) div 31)+1, Y=Y0+(N div 372), где div - операция целочисленного деления (деления с отбрасыванием дробной части); mod - операция взятия остатка от целочисленного деления.

 


Наверх