title: Modulo operator with negative values
body: <p>Why do such operations:</p>
  
  <pre><code>std::cout &lt;&lt; (-7 % 3) &lt;&lt; std::endl;
  std::cout &lt;&lt; (7 % -3) &lt;&lt; std::endl;
  </code></pre>
  
  <p>give different results?</p>
  
  <pre><code>-1
  1
  </code></pre>