Я пытаюсь адаптировать этот ответ к произвольным числовым значениям.
Допустим, у нас есть 3 (беззнаковых) числа:
v1
, v2
, v3
и мы знаем соответствующие максимальные значения, которые они могут иметь:
max1
, max2
, max3
.
max1 * max2 * max3 < 2^32
,
поэтому результат (упакованное значение) должен быть в пределах 32 бит.
Как их запаковать/распаковать без магического хардкодинга?