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>對象

相關文章
相關標籤/搜索