got it...super...

Best Regards
Ashish Goel
"Think positive and find fuel in failure"
+919985813081
+919966006652


On Thu, May 17, 2012 at 8:21 PM, Ashish Goel <ashg...@gmail.com> wrote:

> Hello Dave,
>
> Was trying this
>
> bool OnesZerosOnes(unsigned int n)
> {
>     if( !(n & 1) || !(n &= n+1) ) return 0; /*step1*/
>     n |= n-1;/*step 2*/
>     return !(n & (n+1)); /*step 3*/
> }
>
>
> for 1110011
> after step 1 it becomes 1110011&1110100=1110000
> after step2 it becomes 1110000|1101111=1111111(all ones)
> on step 3 we return~(1111111&0000000) = 1
>
> for 1010011
> after step 1 it becomes 1010011&1010100=1010000
> after step2 it becomes 1010000|1001111=1011111
> on step 3 we return~(1011111&1100000) = 0
>
>
> what are we trying to do with step 3 here
>
> Best Regards
> Ashish Goel
> "Think positive and find fuel in failure"
> +919985813081
> +919966006652
>
>
> On Sat, Apr 7, 2012 at 11:24 AM, Dave <dave_and_da...@juno.com> wrote:
>
>> bool OnesZerosOnes(unsigned int n)
>> {
>>     if( !(n & 1) || !(n &= n+1) ) return 0;
>>     n |= n-1;
>>     return !(n & (n+1));
>> }
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to