Упаковка/распаковка массива чисел в одно поле
Есть некая лотерея в которой генерируется 5 чисел от 1 до 20-ти. Например: 3, 10, 2, 14, 9.
Вопрос на выбор:
- Как упаковать 5 выбранных чисел в одно поле INT32 чтобы компактно хранить его в БД и после при необходимости распаковать обратно в массив чисел для использования?
- Или подскажите по какой формуле это можно сделать?
- Или где почитать про алгоритмы решения подобных задач (на русском)?
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
a1,a2,a3,a4,a5
b = (((a1 * 32 + a2) * 32 + a3) * 32 + a4) * 32 + a5
a5 = b % 32
b = b / 32
a4 = b % 32
...