Скалярное произведение чисел (С++)

145
20 марта 2019, 20:20

Есть код скалярного произведения:

int matrix_prod(short *t, short *w, int n) {
  int sum = 0;
  n = (n + 7)&-8;
  for (int i = 0; i<n; i += 2)
    sum += (t[i] * w[i] + t[i + 1] * w[i + 1]) >> 8;
  return sum;
}

Есть данные из массива байт. Нужно вытащить десятеричное значение нужного байта и посчитать "на лету", как это сделать? Или такая математика применима и к байтам? Возможно, в процессе вычислений эта операция должна произойти сотни или тысячи раз. Как реализовать это эффективно?

READ ALSO
Как решить задачу &ldquo;обратного&rdquo; рюкзака в c++?

Как решить задачу “обратного” рюкзака в c++?

Ввод данных точно также как в рюкзаке, только суммарный вес должен быть таким, что при добавлении любого другого объекта в оптимальное множество,...

161
Рекурсивная печать файлов проекта

Рекурсивная печать файлов проекта

Как в c++ рекурсивно напечатать названия всех файлов в директории, переданной параметром программе? Например, для следующей структуры

122
Практическое применение std::atexit

Практическое применение std::atexit

Сегодня я узнал о существовании функции atexitЧитая мануалы б ней, не могу понять, насколько практически необходимо использовать эту функцию,...

169
Вызвать метод из одной активности в другой

Вызвать метод из одной активности в другой

Не могли бы, пожалуйста, подсказать, как правильно вызвать (если это возможно) метод из одной активности в другой? Я прочитал за наследование,...

154