Author: Uri Blass
Date: 13:02:56 08/22/03
I have many cases when I want to do something for all the 1's of a number that
is
0-255
I do something like this if I am sure that the number is not 0(I start with
while if the number can be 0)
do
{
j=smallest_power[i];
/*for example smallest_power[34]=1 because 34=2^1+2^5 and 1 is the smallest
power in this representation*/
f(j);
i&=i-1;
}
while (i>0);
I believe that it is not optimal because I calculate information that I do not
need and it is better to have something like
for (k=0;k<weight[i];k++)
f(power[i][k]);
I already have the relevant array weight[i] that gives me the number of 1's but
before generating the array power[i][k] that gives the value of the k power of i
I prefer to ask here maybe someone has a better idea.
Note that I am even not sure if the second idea is faster because I am afraid
that calling array of 2 dimensions may be slower.
Uri
This page took 0 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.