擅长:python、mysql、java
<p>Python数字的位宽度未指定-它们是<a href="https://docs.python.org/3.4/c-api/long.html" rel="nofollow">arbitrary size</a>。在</p>
<p>“按位与”运算符的工作原理与广告中所说的一样,所以让我们一步一步来:</p>
<ol>
<li><code>v & 0xffff</code>-屏蔽<code>v</code>的最低有效16位(因为2^16-1=0xffff)正在将<code>v</code>截断为mod 2^16</li>
<li>将截断的数量加到<code>chksum</code></li>
<li>通过在自身上折叠和来处理任何剩余的进位(互联网校验和是根据16位整数计算的)</li>
</ol>
<p>你的代码在处理(3)方面是不完整的,但想法是一样的。有关详细信息,请参阅<a href="https://www.ietf.org/rfc/rfc1071.txt" rel="nofollow">RFC</a>。在</p>