Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
04/19/05 12:52
Read: times


 
#91921 - Efficient Division
Responding to: ???'s previous message
The division code you have given is a classic binary division algorithm. This is inherently slow.

The Keil C51 16-bit divide operation is well optimised, you might download the evaluation version of Keil and examine it for ideas.

Have you considered doing division by multiplying by the reciprocal of the divisor? You can store a table of 16-bit reciprocals and the 8051 can do a fixed point 16-bit by 16-bit multiply pretty quickly. This will give a 32-bit result from which you can extract just the 16 most significant bits to give your answer. The result will not be exact so you will have to carefully consider how much resolution you actually need.

List of 20 messages in thread
TopicAuthorDate
16bit by 8bit divide            01/01/70 00:00      
   Check This!            01/01/70 00:00      
      And This:            01/01/70 00:00      
   16bit by 8bit divide            01/01/70 00:00      
      Re:            01/01/70 00:00      
         16bit by 8bit divide            01/01/70 00:00      
            To Thelam:            01/01/70 00:00      
   well, if you look a bit to the left            01/01/70 00:00      
   16bit by 8bit divide            01/01/70 00:00      
   Its just ben done            01/01/70 00:00      
   Non-iterative Division            01/01/70 00:00      
   Accuracy            01/01/70 00:00      
   No wonder            01/01/70 00:00      
   again and again            01/01/70 00:00      
   Efficient Division            01/01/70 00:00      
   the divide may ne the tip of the iceberg            01/01/70 00:00      
      16bit by 8bit divide            01/01/70 00:00      
         the Titanic hit the iceberg            01/01/70 00:00      
            16bit by 8bit divide            01/01/70 00:00      
   Don't know if it helps.            01/01/70 00:00      

Back to Subject List