Какое минимальное число бит
Перейти к содержимому

Какое минимальное число бит

Какое минимальное количество бит потребуется для кодирования (см)?

Какое минимальное количество бит потребуется для кодирования положительных чисел, меньших 60?

Одним битом мы можем закодировать только 0 или 1, двумя битами цифры до 3х, тремя — до 7ми, четырьмя — до 15ти, пятью — до 31, шестью — до 65ти.

То есть для кодирования чисел меньше 60 потребуется 6 бит.

Один бит кодирует 0 и 1.

Два бита кодируют цифры до 3.

Три бита кодируют цифры до 7.

Четыре бита кодируют цифры до 15.

Пять бит кодируют цифры до 31.

Шесть бит кодируют цифры до 65.

Ответ: Для кодирования чисел меньше 60 понадобится 6 бит.

Наверняка речь идет о задание ЕГЭ номер 17 по профильной математике. Хотя задания о кредитах, вкладах, процентах по вкладу, вообще о деньгах встречаются и в базовой части. Но все они несложные и решаются в один или два приема.

Задание 17 же это уже высокого уровня сложности.

Там правда чаще встречаются задания по вкладам, но и кредиты, и вклады решаются одинаково.

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

Q1pBaKy1M9NJFNTmEz1NZtpM88jpo0EH.png

Ясно, что знаменатель прогрессии 1,1 (10%), сумма прогрессии 2 395 800, но есть еще и дополнительные условия: три платежа и соотношения между ними. Лучше всего обозначить через х сумму первого платежа и дальше уже составлять и решать уравнения.

как подсчитать минимальное количество битов требуемое для десятичных чисел в бинарном коде?

user avatar

Для целых чисел без знака: взять логарифм по основанию 2 и округлить в большую сторону.

log2271 = 8.082 -> 9 бит

log2521 = 9.025 -> 10 бит

Для представления нуля в памяти всё равно требуется хотя бы 1 бит

user avatar

Если уж говорить о скорости, то некоторые архитектуры (в т.ч. x86) имеют инструкцию, которая считает количество лидирующих нулевых бит. Компилятор GCC имеет её встроенный аналог (обёртку).

Делим на 2, пока получается число большее единицы, считаем итерации, к результату добавляем 1. Добавляем ещё 1, если число отрицательное.

user avatar

Предварительно генерируем массив степеней двойки. Cравниваем число со степенями из массива, пока не найдём первое превышающее. Индекс этого числа и есть искомый размер.

Вот код и тесты:

Этот алгоритм должен быть быстрее, чем вычисление логарифмов или деление.

7) Какое минимальное количество бит потребуется для кодирования положительных чисел, меньших 60? 1) 1 2) 6 3) 36 4) 60

7) Чтобы определить сколько бит нужно для кодирования заданного количества символов, необходимо определить двойка с какой степенью даст результат больший либо равный количеству кодируемых символов, 2^5=32, 2^6=64, следовательно достаточно 6 бит.

8) Поле 4 на 4, значит клеток всего 16, то есть для того чтобы пронумеровать (закодировать) в двоичной системе, потребуется 4 бита, т.к. 2^4=16, значит информация об одной клетке несет в себе 4 бита.

9) V =7.5 * 1024 = 7680 байт — всего.
7680/7680 = 1 байт на символ.
1 байт = 8 бит.
С помощью 8-ми бит можно закодировать символов.
Отсюда мощность алфавита: 256 символов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *