Python 进制转换

<pre class="line-numbers"><code class="language-python">def bytes2human(n): symbols = (&#39;K&#39;, &#39;M&#39;, &#39;G&#39;, &#39;T&#39;, &#39;P&#39;, &#39;E&#39;, &#39;Z&#39;, &#39;Y&#39;) prefix = {} for i, s in enumerate(symbols): prefix[s] = 1 &lt;&lt; (i + 1) * 10 for s in reversed(symbols): if n &gt;= prefix[s]: value = float(n) / prefix[s] return &#39;%.1f%s&#39; % (value,s) return &#39;%sB&#39; % n </code></pre>python

<h2 id="toc_0">python语言n = (n+1)&lt;&lt;1是什么意思</h2>测试

<p>前提n得有一个初始值,好比n=1,否则会报错那么n=n+1的意思就1+1再赋值给变量n,那么n就等于2。而后&lt;&lt;符号是按位左移的意思,就是把对象转为2进制,有效数字往左移动。&lt;&lt;1就是按位左移1个单位。好比2&lt;&lt;1意思就是2按位左移1个单位,2的二进制就是00000010,左移一位就是00000100,转为十进制就是4。那么按位左移多少个单位的操做,你能够理解为对象乘以2的单位次方。上面的2&lt;&lt;1也就是2乘以2的1次方等于4。用编译器测试一下:</p>code

<pre class="line-numbers"><code class="language-python">&gt;&gt;&gt; n=2 &gt;&gt;&gt; n=n+1 &gt;&gt;&gt; n 3 &gt;&gt;&gt; n&lt;&lt;1 &gt;&gt;&gt; n=(n+1)&lt;&lt;1 &gt;&gt;&gt; n 8 </code></pre>对象

相关文章
相关标签/搜索