Итак, у меня есть один int, разбитый на массив меньших целых. Например, int num = 136928
становится int num[3] = {13,69,28}
. Мне нужно умножить массив на определенное число. Нормальная работа будет 136928 * 2 == 273856
. Но мне нужно сделать [13,69,28] * 2
, чтобы дать тот же ответ, что и 136928 * 2
снова в виде массива - результат должен быть
for(int i : arr) {
i *= 2;
//Should multiply everything in the array
//so that arr now equals {27,38,56}
}
Любая помощь будет благодарна за то, как это сделать (также необходимо работать с умножением плавающих чисел), например. arr * 0.5
должно наполовину все в массиве.
Для тех, кому интересно, число должно быть разбито на массив, потому что оно слишком велико для хранения в любом стандартном типе (64 байта). В частности, я пытаюсь выполнить математическую операцию с результатом хеширования sha256. Хэш возвращает массив хэша как uint8_t[64]
.