Re: Count maximum contiguous set bits in an integer .
- From: Lawrence Kirby <lknews@xxxxxxxxxxxxxxx>
- Date: Fri, 29 Apr 2005 17:49:48 +0100
On Fri, 29 Apr 2005 04:05:04 -0700, websnarf wrote:
> Vish wrote:
>> I have written a program to count the maximum contiguous set bits in
>> an integer.
>> Like if my binary representation of integer is :
>> 1100111 : then output should be 3.
>> 111000111110000101010111111 : then output should be 6.
>>
>> I am including the snippet below.
>> How can I optimize this code and also is there a one liner to
>> implement the same.
>> (Like for power of 2 we have got (number & (number -1))).
>
> How about a 5 liner?
>
> int longest1BitsCount (unsigned long l) {
> int i;
> for (i=0; l; i++) l &= l + l;
> return i;
> }
Clever piece of code. was it intended to be mildly obfuscated i.e. using
i and l which can look very similar, and using l+l instead of the clearer
l<<1?
> Like any other program, I have no idea what this does on a 1s complement
> machine (and don't really care).
Since l has an unsigned type what signed integer representation an
implementation uses has no relevance to it.
Lawrence
.
- Follow-Ups:
- Re: Count maximum contiguous set bits in an integer .
- From: websnarf
- Re: Count maximum contiguous set bits in an integer .
- References:
- Count maximum contiguous set bits in an integer .
- From: Vish
- Re: Count maximum contiguous set bits in an integer .
- From: websnarf
- Count maximum contiguous set bits in an integer .
- Prev by Date: Re: Count maximum contiguous set bits in an integer .
- Next by Date: Re: Converting large strings to numbers
- Previous by thread: Re: Count maximum contiguous set bits in an integer .
- Next by thread: Re: Count maximum contiguous set bits in an integer .
- Index(es):
Relevant Pages
|