Ксения (23.03.2012 23:01, просмотров: 122) ответил whale на Как заменить деление умножением ?
Берем славное число 65536, которое есть 2^16, и заранее преобразуем все делители к виду 65536/делитель, округленное до целого. А потом на это число множим в разрядной сетке long и отбрасываем младшие 2 байта. Например, 50000 надо поделить на 1000. Преобразуем делитель в сомножитель, получаем 65536/1000=66. Теперь умножаем 50000*66=3300000 и отбрасываем младшие 2 байта - получим 50. Что и требовалось получить.