Program:
unsigned long closestIntSameBit(unsigned int x ) { for (int i =0 ; i <63; i++) { if(( (x >> i) & 1 ) != ((x >> (i + 1 )) & 1 )) { x = x ^ (1UL << i ) + (1UL << (i + 1 ) ); return x; } } }
Program:
unsigned long closestIntSameBit(unsigned int x ) { for (int i =0 ; i <63; i++) { if(( (x >> i) & 1 ) != ((x >> (i + 1 )) & 1 )) { x = x ^ (1UL << i ) + (1UL << (i + 1 ) ); return x; } } }