🏠
От Вы,
Опубликовал Сейчас,
Обновил Сейчас.
p[ Цифровой множитель — это компактный дескриптор размера памяти, представляющий собой степень двойки (N), до которой необходимо возвести 2, чтобы получить фактический размер блока данных в байтах. Стандарт предлагает два метода его использования: неявный (через общий размер) и явный (через выделенный байт в заголовке), последний из которых является эффективным решением для организации заголовков данных в аппаратном обеспечении и системном программировании. ]p p[ Это логарифм по основанию 2 от размера блока памяти, выраженного в байтах. Если размер блока S = 2^N байт, то N и есть цифровой множитель. ]p p[ Подразумевает, что память всегда имеет определенную длину, а именно степени "2". ]p p[]p p[На примере обычного файла. ]p p[]p p[b[Беззнаковый формат (общий размер)]b]p p[]p p[Например, файл, размером 128 байт.]p p[]p 2^0 - 1 байт, наш файл явно больше весит, следом идет p[]p 2^1 - 2 байт, это означает, что если файл 2 байта, его размер (2^1)p[]p 2^2 - 4 байт, само собой 4 байта файла означает что его размер был указан как (2^2)p[]p 2^3 - 8 байт, ...p[]p 2^4 - 16 байт,...p[]p 2^5 - 32 байт, ставки по тихоньку повышаютсяp[]p 2^6 - 64 байт, ...p[]p 2^7 - 128 байт, и вот мы дошли до нашего размера файлаp[]p ...p[]p 2^255p[]p p[]pp[]pp[]p [2^10] 1 килобайтp[]p [2^20] 1 мегабайтp[]p и так, мы узнали, что файл взят с 2^7, или с "Цифровым множителем 7" p[]pp[]p Но у него есть один недостаток, если, допустим мы расчитывали, что наша память будетиспользовать скажем 2 множитель, но вдруг, нужно записать хотя бы на 1 байт больше, (5 байт в общем) то нам придется наш архив увеличить уже не до 5 байтов, а по цифровому множителю 3, это уже 8 байтов, и оставшиеся 3 байта так и останутся как 0x00.p[]p p[]pp[]p b[Знаковый формат (раздробленый)]b p[]pp[]p сдесь уже не будет работать вычисление по общему размеру, например файл, размером 128 байт уже может быть разделен по другому, а именно... p[]pp[]pp[]p [сегмент [1 байт на указание размера в цифро-множителях][остальные байты (-1 байт)данные]] p[]pp[]pp[]p и так, получается, что можно получить обсолютно разные значение, но кратное к 2. p[]p p[]p В чем смысл? это решает базовую проблему в заголовках, в компьютерном мире глубоко в железе размером ячейка для данных указывается отдельно, этот стандарт как раз для этого. p[а получить инструменты по этому стандарту можно l[https!://github.com/OkkoBitte/lstc:получить сдесь.]l]p
bold(19,44) X
bold(19,44) X
bold(19,44) X
bold(19,44) X
bold(19,44) X
bold(19,44) X
+
Что такое доброта, и с чем его едят?
+