• [Сэкономленные байты]Петя сконструировал устройство, состоящее из датчика и памяти. Датчик снимает показания в диапазоне от 0 до 1.2 с точностью 0.1 и сохраняет в памяти каждое значение отдельно. В память можно записать только целое количество байт, поэтому каждое показание датчика занимает ровно 1 байт. Вася предложил добавить в устройство буфер, накапливающий Nпоказаний. Как только буфер полностью заполняется, получившаяся комбинация показаний кодируется минимально возможным количеством бит и записывается в память, занимая целое количество байт. При каком минимальном размере буфера, объем информации, записанный после его заполнения, окажется на 10 байт меньше, чем заняла бы запись такого же количества показаний при отсутствии буфера? В ответе укажите целое число – размер буфера, определенный как количество показаний датчика, которые можно в нем накопить.

Ответы 1

  • Если рассматривать вариант, когда в буфере минимально возможным числом бит кодируется вся комбинация показаний, то решение во вложении, если "сжимается" каждое показание отдельно то так.Показания датчика в диапазоне от A до B c шагом h. Могут принимать M значений.M= \frac{A-B}{h}+1 В нашем случае:M= \frac{1,2-0}{0,1}+1=13 Чтобы закодировать 13 комбинаций нам потребуется минимумlog_2(13) \approx 3,70 бит, округляя до ближайшего большего целого получим 4 бита. (Это половина байта. в байте 8 бит, если что :) Если буфер хранит N показаний. то для этого в сжатом варианте потребуется N/2 байт, в несжатом варианте N байт.Исходя из условия получаем:N- \frac{N}{2}=10 Разрешаем относительно NN(1- \frac{1}{2} )=10N=2 \cdot 10=20Ответ: 20 показаний (или 20 байт).
    answer img
    • Автор:

      nataly
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

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

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

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