title: modulo with unsigned int
body: <p>In C++ i try to use modulo operator for two unsigned int variables like in Marsaglia's multiply with carry algorithm.
  The results seem right, but i'm not sure about the limitations of modulo.</p>
  
  <pre><code>m_upperBits = (36969 * (m_upperBits &amp; 65535) + (m_upperBits &gt;&gt; 16))&lt;&lt;16;
  m_lowerBits = 18000 * (m_lowerBits &amp; 65535) + (m_lowerBits &gt;&gt; 16);
  unsigned int sum = m_upperBits + m_lowerBits;  /* 32-bit result */
  unsigned int mod = (max-min+1);
  int result=min+sum%mod;
  </code></pre>