Как я могу использовать битовый сдвиг для замены целочисленного деления?

Я понимаю, как это сделать для степени двойки, так что это не мой вопрос.

Например, если я хочу найти 5% числа, используя битовый сдвиг вместо целочисленного деления, как я могу это вычислить?

Итак, вместо (x * 20/19) я мог бы сделать (x * 100 >> 11 ). Это неправильно, но это близко, и я пришел к этому методом проб и ошибок. Как мне определить наиболее точный сдвиг для использования?

15
задан Null 6 July 2015 в 17:05
поделиться