| ??? 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;
}
|
| Topic | Author | Date |
| 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 |



