Почему Проводник не может определиться с размером файла?

Если вы откроете Проводник и выделите файл, размер которого всего несколько килобайт, вы сможете обнаружить, что для некоторых файлов значение, отображаемое в колонке «Размер», отличается от значения, отображаемого в панели информации о файле. В чем тут дело? Почему Проводник не может определиться с размером файла?

Эти два значения используют два различных алгоритма расчета.

Значения в колонке «Размер» всегда отображаются в килобайтах, вне зависимости от размера файла. Файл, размером в 15 байт? Отображаем его в килобайтах. Файл в 2 гигабайта? Отображаем его в килобайтах.

Значение, отображаемое в колонке «Размер», округляется до килобайта в большую сторону. Ваш 15-байтный файл будет отображаться как файл, размером в 1 Кб. Таково поведение Проводника со времен своего появления в составе Windows 95. Почему так? Я не знаю, причины такого поведения, наверное, уже утеряны во мраке времен. Я лишь могу подозревать, что одной из причин стало нежелание отображать размер файла в 0 Кб, если только он не является пустым.

С другой стороны, значение, отображаемое в панели информации о файле, адаптируется к размеру файла. Для совсем маленьких файлов оно отображается в байтах, но для больших файлов оно отображает мегабайты, гигабайты или еще что-то. Это значение отображается до трех значащих цифр.

Результатом для файла, размером, скажем, в 19465 байт (19,0088 килобайт) будет значение 20 Кб в столбце «Размер» (поскольку значение в этом столбце всегда округляется в большую сторону), а в панели информации о файле будет отображено 19,0 Кб (так как это значение всегда отображается до трех значащих цифр).

Выглядит так, словно Проводник не может определиться с размером файла, и, возможно, все так и есть, но причиной такого поведения являются два разных способа округления одного и того же значения.