title: Left shift operator in C
body: <p>Consider:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #define macro(a) a=a&lt;&lt;4;
  
  main()
  {
      int a = 0x59;
      printf("%x", a);
      printf("\n");
      macro(a)
      printf("%x", a);
  }
  </code></pre>
  
  <p>For the above code, I am getting the below output:</p>
  
  <pre><code>59
  590
  </code></pre>
  
  <p>Why am I not getting the below output as the left shift operation?</p>
  
  <pre><code>59
  90
  </code></pre>