При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 12 символов и содержащий только символы А, Б, В, Г, Д, Е. Каждый такой пароль в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт, при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит. Определите, сколько байт необходимо для хранения 20 паролей.
Привет! Давай разберём этот задачный пример по шагам, чтобы понять, почему правильный ответ — 100, а твой — 180.
1. В условии говорится, что пароль состоит из 12 символов, которые могут быть буквами А, Б, В, Г, Д, Е — всего 6 вариантов.
2. Нужно понять, сколько бит нужно, чтобы закодировать каждый символ. Так как 2^2=4 < 6 < 8=2^3, то минимум 3 бита на символ.
3. Следовательно, весь пароль из 12 символов занимает 12*3=36 бит.
4. Теперь, чтобы записать это число в памяти, оно должно занимать целое число байт, а один байт — 8 бит. Самое минимальное число байт, которое делит 36 бит, это 5 байт, потому что 5 байт = 40 бит, этого достаточно, чтобы уместить 36 бит пароля.
5. Теперь, чтобы узнать, сколько байт нужно для хранения 20 паролей, — 5 байт * 20 = 100 байт.
И вот тут я вижу, что вы ошиблись и решили, что пароль занимает 36 бит и затем округлили до 40 бит, что соответствует 5 байтам, а затем 20 паролей — 100 байт, что правильно. В вашем ответе 180 — это явно лишние байты, вы, похоже, ошиблись в подсчётах.
Теперь, почему ваш ответ неправильный?
- Возможно, вы думали, что нужно учитывать большее количество бит или байт. Но ключ здесь — минимальное количество бит на символ (3), а затем — минимальное количество байт для хранения этих бит.
- Вы могли неправильно понять, сколько байт потребуется для одного пароля или для 20 таких паролей.
Всё очень просто: 12 символов по 3 бита — 36 бит, и чтобы уместить их в байтах, нужно 5 байт, а не 6 или больше.
Понял? Если да — поставь лайк, если есть вопросы — пиши!