By Nikolai Golovchenko. See https://www.golovchenko.org/home/constdivmul for a working online form and source code.
See:
See also:
Questions:
IS there a way of getting this code generation program in a simple windows program? It would be handy for when I am working from a workstation that does not have internet access.
The program does have a command line mode (not GUI) so it could be used locally... If there is enough interest, I could sell offline versions. Perhaps this would help to support the site?
Comments:
When used for division, except in cases where the sum of the terms exactly equals the divisor (e.g. divisor is 8/3 = 2.6666667), the computed quotient will always be slightly smaller than the actual quotient. Rounding can be helpful, particularly with small quotients. Before the final shift, simply examine the highest-order bit that would be shifted out and add it after the final shift.
e.g. if the last shifting is 4 places and the bits that would be shifted out are 1xxx, add 1 after the last shift.
Try this for 9 divided by 3, using 7 terms. Without rounding, the quotient will be 2. Rounding "fixes" that.
Interested: