Как можно упаковывать числа и структуры, что бы меньше занимало место в памяти и на диске?
Простой вариант что я вижу, это использование битов размера значимых данных, на вскидку примерно так:
0 - нет числа, 10 - 4 бита, 010 - 8 битов, 110 - 16 битов, ... И дальше сохранять значимые биты числа.
Были еще какие то варианты, но не могу вспомнить как эта тема называется.