title: why (int & 1 == 0) is false?
body: <p>this is very simple code but i don't understand why this happeded. here is my code.</p>
  <pre><code>#include &lt;iostream&gt;
  
  using namespace std;
  
  int main()
  {
      for(int i = 0; i &lt; 32; i++)
      {
      int tmp = i;
      if(tmp &amp; 1 == 0)
          cout &lt;&lt; '0' &lt;&lt; endl;
      else
          cout &lt;&lt; '1' &lt;&lt; endl;
      }
  
      return 0;
  }
  </code></pre>
  <p>i was expect that output will be &quot;0101...&quot; but real output was &quot;1111...&quot;</p>
  <p>however when i changed condition code like</p>
  <pre><code>if(tmp &amp; 1 == 1)
  </code></pre>
  <p>the code work right which i expected.
  is someone able to answer me why this two code makes different output?</p>