On Oct 8, 10:56 am, Mark Dickinson <[EMAIL PROTECTED]> wrote: >> I think that (0).numbits()==-1 is the natural solution. > > Can you clarify this? Why is -1 the natural solution? I > can see a case for 0, for -infinity (whatever that means), > or for raising an exception, but I can't see why -1 would > be at all useful or natural.
You are right. I misunderstood the definition of nbits(). I initially had asked for a function get_highest_bin_num(), which is always one off nbits() as it seems. I correct my sentence to The choice get_highest_bin_num(0) == -1 is the natural one (in concerns of cryptography). This property is needed for the algorithms I listed above. If get_highest_bit_num(n) == nbits(n) - 1 holds for all n >= 0 then we both agree. I cite from MRAB's post: > int.numbits should return the position of the highest set bit (>=0) > or -1 if none found. It seems that MRAB had the same misunderstanding. Perhaps one should implement both: numbits() and get_highest_bit_num() where numbits(0) = 0 and get_highest_bit_num(0) raises an exception? -- http://mail.python.org/mailman/listinfo/python-list