Количество битов, необходимых для представления целого числа 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.
Вы можете объяснить, почему?