Измеряется температура воздуха, которая может быть целым числом от -30 до 34 градусов. какое наименьшее количество бит необходимо, чтобы закодировать одно измеренное значение? +

Поляков Евгений Александрович

Учитель информатики высшей категории

Проверено учителем

Для кодирования одного значения температуры в указанном диапазоне необходимо 7 бит. 1. Определить количество возможных состояний Сначала необходимо вычислить, сколько всего уникальных целых значений может принимать температура в заданном диапазоне от -30negative 30 до 3434 градусов включительно. Для этого из максимального значения вычитается минимальное и прибавляется единица (так как обе границы входят в диапазон): N=TmaxTmin+1cap N equals cap T sub m a x end-sub minus cap T sub m i n end-sub plus 1 N=34(-30)+1=34+30+1=65cap N equals 34 minus open paren negative 30 close paren plus 1 equals 34 plus 30 plus 1 equals 65Таким образом, нам нужно закодировать 6565 различных состояний. 2. Найти минимальную степень двойки Количество информации ii в битах, необходимое для кодирования Ncap N равновероятных событий (состояний), определяется из неравенства Хартли: 2iN2 to the i-th power is greater than or equal to cap NПодставим наше значение N=65cap N equals 65: 2i652 to the i-th power is greater than or equal to 653. Вычислить итоговое число бит Проверим последовательные степени числа 22:

  • При i=6i equals 6: 26=642 to the sixth power equals 64. Этого недостаточно, так как 64<6564 is less than 65 (одно значение останется без кода). При i=7i equals 7: 27=1282 to the seventh power equals 128. Этого достаточно, так как 12865128 is greater than or equal to 65.

Так как количество бит должно быть целым числом, минимальное подходящее значение — 7. Ответ Для кодирования одного измеренного значения температуры воздуха в диапазоне от -30negative 30 до 3434 градусов необходимо 7 бит памяти. Желаете рассчитать общий объем памяти для хранения серии таких измерений или изменить точность (шаг) измерения температуры?

Форма ответа

Ваш аватар