Каковы конкретные ограничения шестнадцатеричного хранения на жестком диске?

305
J. J.

Я предисловие, сказав, что я не специалист по компьютерам. Мой вопрос размещен в качестве любопытного.

Просматривая в Интернете ответы, я видел, что в шестнадцатеричном формате можно хранить числовую информацию на жестких дисках. Я даже спросил на этом сайте и получил очень хорошо написанные и логичные ответы. Но есть много сайтов, где есть те, которые утверждают, что шестнадцатеричное можно использовать для хранения числовой информации на жестком диске. Примечание: хранить, а не отображать .

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

На каждые 100 байтов, используемых для представления числа длиной 100 цифр, построенного из набора символов, можно использовать только 42 байта для хранения той же последовательности чисел, что и шестнадцатеричных цифр. Уравнение: [100 log 10 / log 16] используется для поддержки этого понятия.

Тем не менее, другие утверждают, что фактическое хранение информации в шестнадцатеричном формате на жестком диске не так эффективно, потому что шестнадцатеричные цифры (AF) будут храниться как полные символы, требующие 8 бит или 1 байт. Например, для хранения 1A34B7 на самом деле потребуются как минимум две шестнадцатеричные цифры для представления полными байтами на жестком диске вместо полубайтов для числовых частей. Он может отображать значение в полубайтах, но как только запустится память, шестнадцатеричные цифры символа должны использовать полные байты.

Какова реальность этого сценария?

Спасибо.

-1
Я думаю, что вы упустили один ключевой момент. Там нет сохраненных номеров (база 10 или база 16). Там только хранится информация и то, как вы их интерпретируете. Hennes 7 лет назад 0
И вопрос интерпретации: как шестнадцатеричное хранилище на жестком диске и как оно будет интерпретировать эту информацию в сценарии, опубликованном выше? Спасибо. J. J. 7 лет назад 0
Пожалуйста, предоставьте ссылки на эти сайты, которые вы цитируете. sawdust 7 лет назад 0

1 ответ на вопрос

0
Claris

Я думаю, что вы путаете несколько тем.

Если бы вам нужно было хранить число 100 на компьютере, оно было бы сохранено в двоичном формате, hex 0x64, который занимал бы один байт. Конечно, есть некоторые предостережения. Вроде бы прекрасно хранить число 100 на диске в виде трехбайтового значения, но это обычно происходит только тогда, когда компьютер обрабатывает некоторый поток текста как текст.

С точки зрения фактического носителя данных. Во многих случаях, если носитель позволяет хранить более одного бита данных, производитель попытается использовать это. Например, улучшение хранилища с помощью отсканированного хранилища (для дисков) или TLC (для SSD). Каков бы ни был базовый метод, конечный результат заключается в том, что производитель предоставит номер хранилища в байтах.

Спасибо, Кларис. Тогда я могу с уверенностью предположить, что шестнадцатеричные цифры, такие как FF, также будут храниться как один полный байт, верно? J. J. 7 лет назад 0
* «Если бы вам пришлось хранить число 100 на компьютере, оно было бы сохранено в двоичном, шестнадцатеричном виде 0x64» * - Не совсем правильно. Вы упоминаете только один числовой формат, одно байтовое целое число. Есть также многобайтовое целое число, фиксированная точка, с плавающей запятой, BCD, ASCII и любой другой возможный код (например, код Грея). Прикладная программа (не * "производитель" *) может хранить данные в любом формате по своему выбору. sawdust 7 лет назад 1
Двоичный код обычно считается родным представлением данных в большинстве процессоров. Но это обычно не очень удобно для разработчика или других целей. Шестнадцатеричные, десятичные или восьмеричные обычно более удобны. Но обычно это просто разные способы представления одной и той же вещи, и они мало что значат для внутреннего хранения. Внутреннее хранилище будет тем, что считается наиболее эффективным. Будь то эффективность хранения, эффективность доступа или какой-то компромисс - это решение, которое должен принять разработчик. LMiller7 7 лет назад 3