title: what will be the execution order of the following bit operations?
body: <p>I see the following bit operation statement, but what is the order of the execution:</p>
  
  <pre><code>// Example program
  #include &lt;iostream&gt;
  #include &lt;string&gt;
  #include &lt;stdio.h&gt;
  
  int main()
  {
      unsigned int age = 2;
      unsigned int agemap = 0x111 ;
      if(age &gt; 0 &amp;&amp; age &lt;= 32)
      {
  
         agemap &amp;= (unsigned int)~((unsigned int)1 &lt;&lt; (unsigned int)(age - 1));
      }
  }
  </code></pre>
  
  <p>This is used to remove the age(value 2) from the agemap(0x111), but based on what order it is executed?</p>