Click here to Skip to main content
15,902,842 members
Home / Discussions / Algorithms
   

Algorithms

 
AnswerRe: formulate an algorithm Pin
Member 1525570320-Jun-21 20:01
Member 1525570320-Jun-21 20:01 
QuestionProblem in c language Pin
Member 150165689-Dec-20 3:16
Member 150165689-Dec-20 3:16 
AnswerRe: Problem in c language Pin
Richard Deeming9-Dec-20 3:43
mveRichard Deeming9-Dec-20 3:43 
AnswerRe: Problem in c language Pin
CHill609-Dec-20 3:44
mveCHill609-Dec-20 3:44 
AnswerRe: Problem in c language Pin
Serhii Oleksenko15-May-21 1:38
professionalSerhii Oleksenko15-May-21 1:38 
QuestionStamp circular trade Pin
Shir Gans29-Nov-20 6:25
Shir Gans29-Nov-20 6:25 
AnswerRe: Stamp circular trade Pin
Gerry Schmitz29-Nov-20 18:40
mveGerry Schmitz29-Nov-20 18:40 
AnswerRe: Stamp circular trade Pin
Mircea Neacsu6-Dec-20 5:45
Mircea Neacsu6-Dec-20 5:45 
GeneralRe: Stamp circular trade Pin
Shir Gans6-Dec-20 7:51
Shir Gans6-Dec-20 7:51 
QuestionGiven an array x, get the array y from a data set of arrays which has the smallest distance to x Pin
Member 1499380315-Nov-20 17:17
Member 1499380315-Nov-20 17:17 
QuestionCLOSED Pin
AlgoHelp13-Nov-20 23:31
AlgoHelp13-Nov-20 23:31 
AnswerRe: How to determine if 2 labelled graphs are identical? Pin
Greg Utas14-Nov-20 1:48
professionalGreg Utas14-Nov-20 1:48 
GeneralRe: How to determine if 2 labelled graphs are identical? Pin
Greg Utas14-Nov-20 3:04
professionalGreg Utas14-Nov-20 3:04 
GeneralCLOSED Pin
AlgoHelp14-Nov-20 3:49
AlgoHelp14-Nov-20 3:49 
GeneralRe: How to determine if 2 labelled graphs are identical? Pin
Greg Utas14-Nov-20 4:03
professionalGreg Utas14-Nov-20 4:03 
GeneralCLOSED Pin
AlgoHelp14-Nov-20 4:24
AlgoHelp14-Nov-20 4:24 
GeneralRe: How to determine if 2 labelled graphs are identical? Pin
Greg Utas14-Nov-20 5:41
professionalGreg Utas14-Nov-20 5:41 
GeneralRe: How to determine if 2 labelled graphs are identical? Pin
Greg Utas15-Nov-20 1:27
professionalGreg Utas15-Nov-20 1:27 
QuestionLong Division / Assembly Language Style Pin
C-P-User-313-Oct-20 4:34
C-P-User-313-Oct-20 4:34 
AnswerRe: Long Division / Assembly Language Style Pin
Richard Deeming13-Oct-20 4:53
mveRichard Deeming13-Oct-20 4:53 
GeneralRe: Long Division / Assembly Language Style Pin
harold aptroot13-Oct-20 5:31
harold aptroot13-Oct-20 5:31 
AnswerRe: Long Division / Assembly Language Style Pin
trønderen13-Oct-20 6:25
trønderen13-Oct-20 6:25 
Have you considered table lookup?

No smiley ... In the days when a CPU filled a rack of boards, and the ALU (Arithmetic/Logic Unit) alone was a least one board, maybe more, there was a machine that did that, although for floating point rather than integer. The most significant bits of the mantissas (always kept normalized, with a hidden MSB) were used as indexes into a huge 2D table in ROM, giving the 11 most significant bits. From that, a Newton iteration was done, doubling the precision for each iteration. The entire iteration was done in hardware: The initial lookup took one clock cycle, each iteration took an extra clock cycle (two for single precision, four for double precision). The final normalization of the result took yet another clock cycle.

This FP divide was so fast that the CPU didn't have any integer divide logic. It was faster to convert the integers to 64 bit FP, do the division and convert back. The FP logic alone was a circuit board about A3 size (i.e. twice the size of a standard typewriter paper) packed with chips.

For all I know, maybe modern CPUs use the same technique today. In the late 1970s, it was so remarkable that the design was presented in internationally recognized professional magazines.

If I were to write a division function for arbitrary length integers (or arbitrary precision float), I would consider seriously something in this direction. If the machine provides a division instruction, you can use that to obtain the first 'n' bits, rather than using a huge lookup table.
GeneralRe: Long Division / Assembly Language Style Pin
Greg Utas13-Oct-20 12:04
professionalGreg Utas13-Oct-20 12:04 
AnswerRe: Long Division / Assembly Language Style Pin
Gerry Schmitz13-Oct-20 8:33
mveGerry Schmitz13-Oct-20 8:33 
AnswerRe: Long Division / Assembly Language Style Pin
Patrice T6-Nov-20 15:46
mvePatrice T6-Nov-20 15:46 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.