Author: Charles Roberson
Date: 06:04:41 10/31/03
I have a list of numbers that I wanted to normalize to the range of 0-100.
The numbers are integers so the obvious thought is
find largest
foreach number
number = number*100/largest
However, division is slow. So, I dropped the range to 0-64 and
came up with the following:
find largest
n = 7;
if largest > 64
n = highorder bit position (largest) + 1;
foreach number
number = number>>n
In some cases the range will be 0-32 but that is ok.
Seems this should be fast and I haven't thought of anything faster.
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.