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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
12/05/01 03:56
Read: times


 
#17277 - RE: fastest 32 bit division
Here is some 'C' like pseudo code that reveals one algorithm for doing division without a divide operator. This algorithm allows 32 bit divided by 32 bit (unsigned values).

enjoy,
<>< Lance.
void divide( Num, Den, Quo, Rem )
unsigned long Num, Den, &Quo, &Rem;
{
   int pwr = 1;
   unsigned long acc = 0;

   if ( Den == 0 ) {
       printf( "DIVIDE BY ZERO ERRORn" );
       exit;
   }

   // Scale Num and Den
   while ( (Num>Den) && !(Den&0x80000000) ) {
       pwr <<= 1;
       Den <<= 1;
   }

   while (Num && pwr) {
      if (Num > Den) {
         Num -= Den;
         acc += pwr;
      }
      Den >>= 1;
      pwr >>= 1;
   }

   *Quo = acc;
   *Rem = Num;
}


List of 12 messages in thread
TopicAuthorDate
fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      
RE: fastest 32 bit division            01/01/70 00:00      

Back to Subject List