128-битное Java-умножение и деление – существует ли эффективный алгоритм? [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 128-битное Java-умножение и деление – существует ли эффективный алгоритм? [дубликат]

Сообщение Anonymous »

У меня есть очень специфический алгоритм, который требует выполнения множества вычислений (a * b)/c в Java, где:
  • и b имеют длину 64 бита.
  • может переполниться до 128 бит (не всегда, но, по крайней мере, достаточно часто)
  • имеет длину 64 бита.
  • Результат (a * b)/c должен умещаться в 64-битном формате.
  • Нам нужно определить, не происходит ли переполнение, но результат в этом случае не имеет значения.
Существует ли для этого эффективный высокопроизводительный алгоритм своего рода объединенное умножение и деление, такое что:
  • Нет выделения памяти (например, построение BigInteger не разрешено).
  • Он использует только простые/быстрые операции процессора
  • Выдает точные целочисленные результаты
  • Он работает в O(1)
  • Он работает в O(1) пробел (без рекурсии и т. д.)


Подробнее здесь: https://stackoverflow.com/questions/635 ... -algorithm
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»