• ВСЮ ЗАДАЧУ РЕШАТЬ НЕ НУЖНО, ТОЛЬКО СКАЖИТЕ, ЗА СКОЛЬКО БАЙТ ПРИНЯТЬ ДИАПАЗОН от 1 до 1200(ПОЧЕМУ). ЯВНО НЕ 1 БАЙТ, Т.К. 1 Б ОТ 0 ДО 255.
    Сотрудникам компании выдают электронную карту, на которой записаны их личный код, номер подразделения (целое число от 1 до 1200) и дополнительная информация. Личный код содержит 17 символов и может включать латинские буквы (заглавные и строчные буквы различаются), десятичные цифры и специальные знаки из набора @#$%^&*(). Для хранения кода используется посимвольное кодирование, все символы кодируются одинаковым минимально возможным количеством битов, для записи кода отводится минимально возможное целое число байтов. Номер подразделения кодируется отдельно и занимает минимально возможное целое число байтов. Известно, что на карте хранится всего 48 байтов данных. Сколько байтов занимает дополнительная информация?

Ответы 2

  • 1) 1 байт=8бит, 2^8=256...2^10=1024 -мало, 2^11=2048 -годится, целое число 1200<2048 влезет в 11 бит (разрядов) двоичного представления, то есть 1 байт + 3 бита второго байта. 2) при посимвольном кодировании расходуется 1 байт/символ (ну или 1 символ/ байт), получается 17Б на личный код3) итого 17+2= 19 байт минимум, 48-19=29Б доп.информации
    • Автор:

      acevedo
    • 6 лет назад
    • 0
  • Выбираем из условия все. что касается номера подразделения (именно он имеет диапазон от 1 до 1200). Итак:

    - номер подразделения (целое число от 1 до 1200);

    - номер подразделения кодируется отдельно и занимает минимально возможное целое число байтов.

    Чтобы закодировать число 1200, нужно 11 бит.

    Действительно, 2¹⁰ = 1024, 2¹¹ = 2048 и 1024 < 1200 < 2048.

    11 бит - это 11/8 = 1 целая и 3/8 байта. Округляем до целых в большую сторону, получаем 2 байта.

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years