Я пытаюсь выполнить очень быстрые операции MOD. Я видел несколько страниц, которые мы можем сделать в качестве альтернативы для вычисления MOD с использованием оператора AND с (Divisor-1). Например .:Как быстро вычислить MODULUS для делителя больше 8, 16, 32
результат = (100 по модулю 8) такое же, как результат = (100, 7)
Он функционирует идеально, если делитель меньше, чем 8 бит, но если вычислить (1245 мод 67), мы можем видеть, что результат отличается от (1245 и 66).
Итак, как я могу рассчитать это быстрее, чем с помощью оператора MOD, предоставляемого языком VB.NET?
Спасибо!
Этот метод расчета MOD работает для 2^n, но я не считаю, что он работает для не-2 (например, 8 MOD 6 = 2, но 8 AND 5 = 0). –
Вы уверены, что в операторе MOD есть узкое место в производительности? –
Благодарим за ответы. Если мы рассмотрим положительные числа 2^N, да, у нас есть хорошее улучшение, связанное с MOD. Но так как наконечник просто функционирует для «мощности 2» чисел, я должен рассматривать инструкцию MOD как значение по умолчанию. –