RANDOMIZED ALGORITHMS 6

QUESTION

Write a program to add one to a given number. You are not allowed to use operators like +, -, *, /, ++, etc.\n\nExamples:\nInput: 12\nOutput: 13\n\nInput: 6\nOutput: 7\n\nYes, you guessed it right, we can use bitwise operators to achieve this. Following are different methods to achieve same using bitwise operators.

ANSWER

#include<stdio.h>
 
int addOne(int x)
{
  int m = 1;
 
  /* Flip all the set bits until we find a 0 */
  while( x & m )
  {
    x = x^m;
    m <<= 1;
  }
 
  /* flip the rightmost 0 bit */
  x = x^m;
  return x;
}
 
/* Driver program to test above functions*/
int main()
{
  int x;
  scanf("%d",&x);
  printf("%d", addOne(x));
 // getchar();
  return 0;
}
Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
CHP Adblock Detector Plugin | Codehelppro