>Hi all,
>
>Problem is I need to do do something as a multipple of the bits set on an integer, the integer is a bit array to store statii.
>
>I need to figure out how many bits are set on an integer.
>
>I know I can loop / iterate through the number and bittest / divide by 2 etc.
>
>for now there are not to much so I can do with an ICASE, but I like it generic :)
>
>Any ideas for a fast solution? Something mathematical?
>
>Lutz
If it is a positive integer, the number of bits is related to the base-2 logarithm. You may need to experiment a bit; but I think the number of binary digits is something like: ceiling(log2(number)). Of course, Visual FoxPro doesn't have a log2() function, but that can be solved easily as ceiling(log(number) / log(2))
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)