擅长:python、mysql、java
<p>n是0<;=n<;256*256范围内的数字。它需要两个字节来表示这个数字,因为一个字节可以编码0到255之间的值。在</p>
<p><code>hi,lo=n/256, n%256</code></p>
<p>与</p>
<pre><code>hi = n / 256
lo = n % 256
</code></pre>
<p><code>/</code>是除法运算符,<code>%</code>是余数运算符,因此上面的代码要求将<code>n</code>除以256,并将商存储在<code>hi</code>中,余数存储在<code>lo</code>中。<code>hi</code>和{<cd6>}中的每一个都在0到255的范围内,因此它们将各自放入一个字节中。n==(256*hi)+lo,因此没有信息丢失,电机控制器拥有执行所需操作所需的所有信息。在</p>
<p>我假设您帖子中的代码是为Python2编写的;它在Python3上无法正常工作。您应该将<code>n / 256</code>替换为<code>n // 256</code>,以使代码可以在所有版本的Python上运行。在</p>
<p>FWIW,有各种更好的方法来将一个数字分成高字节和低字节。使用内置的<a href="https://docs.python.org/3/library/functions.html#divmod" rel="nofollow">divmod</a>函数:</p>
<p><code>hi, lo = divmod(n, 256)</code></p>