@NikSIk31

Как узнать длину числа в битах?

Можете, пожалуйста, объяснить, что такое "длина числа в битах", что нужно делать, чтобы ее определить?
Вот допустим в википедии написано, что мне надо взять число в 1024 бита, а снизу пример, и там число это, только мне кажется, что у них оно меньше.
Расскажите, пожалуйста, как это работает?
  • Вопрос задан
  • 2831 просмотр
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
http://dilbert.com/strip/1998-08-24
как это "длина числа в битах", что нужно делать чтобы ее определить.

Это количество бит необходимых для записи числа.
Нужно взять следующее бОльшее целое число после логарифма числа по основанию 2. Т.е. 1 -- 1 бит, 2 -- 2 бита, 3 -- 2 бита, 4 -- 3 бита... 1023 -- 10 битов, 1024 -- 11 битов... 179,769,313,486,231,590,772,930,...,304,835,356,329,624,224,137,215 (309 цифр) -- 1024 бита, 179,769,313,486,231,590,772,930,...,304,835,356,329,624,224,137,216 -- 1025 битов...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@nrgian
128 байтовое целое?
Ответ написан
reverse_kacejot
@reverse_kacejot
Junior C++ Developer, bachelor of Applied Math
Чтобы определить сколько минимум нужно бит для хранения числа, нужно взять его логарифм по основанию 2 (предварительно нужно добавить 1, потому как 0 мы тоже учитываем). Если результат не целый (число не является степенью 2), то стоит округлить его в большую сторону:
log2(255 + 1) = 8 - значит число влезет в 8 бит
log2(256 + 1) = 8.0056... - округляем до 9

Данная схема не работает для 0. Нужно запомнить, что для него тоже нужен один бит :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы