|
Большинство операций, использующих это поле, таких как
операция распечатки содержимого справочника DIR, выдают время
с точностью до минут, хотя число хранящееся в поле времени
позволяет определить время с точностью до двух секунд.
Код времени, хранящийся как 16-разрядное целое число без
знака, вычисляется по следующей формуле:
время = часы * 2048 + минуты * 32 + секунды / 2
ДАТА : Это поле состоит из двух байт, хранящихся со
смещениями 24 и 25 от начала элемента. Как и время, даты
хранятся в виде целого 16-разрядного числа без знака, которое
вычисляется по формуле:
Дата = (год - 1980) * 512 + Месяц * 32 + День
Диапазон изменения лет составляет от 1980 до 2099,
причем хранятся они в виде относительных величин от 0 до 199.
Хотя формат позволяет задавать относительный номер года 127 (
что соответствует 2107 году), программы ДОС позволяют
работать с годами только до 2099. Никто, правда, не ожидает,
что ДОС будет использоваться так долго.
Как формат, так и размещение полей даты и времени
подобраны таким образом, чтобы вместе они образовывали единое
четырехбайтовое поле, которое можно использовать в операциях
сравнения. Достаточно просто извлекать компоненты даты и
времени из соответствующих полей и вычислять их разность.
Например, для разделения даты на составные части можно
использовать следующие формулы, записанные на Паскале:
год := 1980 + поле_даты div 512
месяц := (поле_даты mod 512) div 32
день := поле_даты mod 32
НОМЕР НАЧАЛЬНОГО КЛАСТЕРА : Это двухбайтовое поле,
расположенное со смещением 26, 27 от начала элемента,
содержит 16-разрядное число, являющееся смещением до
начальной точки файла в таблице размещения файлов (ТРФ);
подробнее от этом сказано в следуцющем разделе. Начальный
кластер является первой частью пространства данных на
дискете.
РАЗМЕР ФАЙЛА : Это поле состоит из четырех байтов,
размещенных со смещениями от 28 до 31 от начала элемента.
|