Вычисление битов, необходимых для хранения десятичного числа - PullRequest
18 голосов
/ 22 августа 2011

Это вопрос домашней работы, с которым я застрял.

Рассмотрим представление целого числа без знака.Сколько бит потребуется для хранения десятичного числа, содержащего:

i) 3 digits ii) 4 digits iii) 6 digits iv) n digits

Я знаю, что диапазон целого числа без знака будет от 0 до 2 ^ n, но я не понимаю, как это числобитов, необходимых для представления числа, зависит от него.Пожалуйста, помогите мне.

Заранее спасибо.

Ответы [ 11 ]

0 голосов
/ 22 августа 2011

Самый простой ответ - преобразовать требуемые значения в двоичные и посмотреть, сколько битов требуется для этого значения. Однако возникает вопрос, сколько битов для десятичного числа X цифр. В этом случае кажется, что вы должны выбрать самое высокое значение с цифрами X, а затем преобразовать это число в двоичное.

В качестве базового примера, давайте предположим, что мы хотели сохранить однозначное основание из десяти чисел и хотели узнать, сколько битов потребуется. Наибольшее однозначное число из десяти основных чисел равно 9, поэтому нам нужно преобразовать его в двоичный. Это дает 1001, который имеет в общей сложности 4 бита. Этот же пример может быть применен к двузначному числу (с максимальным значением 99, которое преобразуется в 1100011). Чтобы найти n цифр, вам, вероятно, нужно решить другие и найти шаблон.

Чтобы преобразовать значения в двоичные, вы несколько раз делитесь на два, пока не получите частное 0 (и все ваши остатки будут 0 или 1). Затем вы меняете порядок остатков, чтобы получить число в двоичном виде.

Пример: от 13 до двоичного.

  • 13/2 = 6 р 1
  • 6/2 = 3 р 0
  • 3/2 = 1 р 1
  • 1/2 = 0 р 1
  • = 1101 ((8 * 1) + (4 * 1) + (2 * 0) + (1 * 1))

Надеюсь, это поможет.

...