Я пытаюсь создать объект, который де-факто является аналогом объекта Python list . В моем коде у меня есть следующие классы: object_type , type_type , none_type , bool_type , int_type , float_type , bytes_type , где object_type -абстрактный класс.
Абстрактный класс имеет некоторые виртуальные функции, такие как type_type __type__(void) , bytes_type __name__(void) , bytes_type __repr__(void) , bool_type __bool__(void) , int_type __int__(void) , float_type __float__(void) , bytes_type __bytes__(void) .
Объяснение:
Для кодирования 31го символа достаточно диапазона чисел от 0 до 30.
Для записи числа 30 требуется двоичный логарифм от 30 = 5 бит (округляем в большую сторону).
Итого на личный код требуется 14*5 = 70 бит
70/8 = 9 байт (округляем в большую сторону).
Двоичный логарифм 60 = 6 бит (округляем в большую сторону), которые умещаются в 1 байт.
Итого на личный код и номер подразделения требуется 9+1=10 байт.
Следовательно, для дополнительных сведений остается 20-10=10 байт.