Количество битов, необходимых для представления целого числа n с использованием log2(n)

Количество битов, необходимых для представления целого числа n, определяется округлением log2(n) а затем добавив 1,
Например, log2(100) около 6.643856, Округляя это вниз, а затем добавляя 1мы видим, что нам нужно 7 бит для представления 100,

Но когда я использую вышеупомянутый метод, чтобы узнать количество бит, необходимых для представления sys.maxsize(9,223,372,036,854,775,807) лайк

math.log(sys.maxsize,2)                 gives 63

Приведенное выше значение напрямую дает ответ, т.е. нам нужно 63 бита для представления sys.maxsize(9,223,372,036,854,775,807)

math.log(8,2)                           gives 3.0

Для 8 мы должны применить вышеупомянутый метод снова (3+1), то есть нам нужно 4 бита для представления 8.

Вы можете объяснить, почему?

0 ответов

Другие вопросы по тегам