Why we should use inverse version of int defined by hex in C#
<p>Quote from <a href="http://www.codeproject.com/Articles/35134/How-to-calculate-CRC-in-C" rel="nofollow">this article</a>:</p>

<blockquote>
  <p>In many industries, the first polynomial is in use to create CRC tables and then apply it for performance purposes. The default polynomial, defined by IEEE 802.3 is 0xA001 for 16 bit and 0×04C11DB7 for 32 bit. <strong>We're in C#, thus we should use its inversed version</strong> which is 0×8408 for 16 bit and 0xEDB88320 for 32 bit. We're going to use those polynomials also in our sample.</p>
</blockquote>

<p>Why should we use the inverse version of int defined by hex in C#?<br>
And how did the author of quoted article invert <strong>04C11DB7</strong> to <strong>0xEDB88320</strong>?</p>

<p>Also I've looked into other crc32 C# and C implementations. In all of them C uses 04C11DB7, C# uses 0xEDB88320</p>
