bindec是PHP 中用於將二進制數轉換為十進制數的函數。它接收一個二進制數(以字符串形式傳入)並返回對應的十進制整數。
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$binary_string</span></span><span>)
</span></span>
<span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-string">"1101"</span></span><span>;
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-variable">$binary</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$decimal</span></span><span>; </span><span><span class="hljs-comment">// 輸出 13</span></span><span>
</span></span>
在這個例子中,我們將二進制數1101轉換成了十進制的13 。
與bindec相對, decbin是將十進制數轉換為二進制數的函數。它接收一個十進制數並返回對應的二進製字符串。
<span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">decbin</span></span><span>(</span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$number</span></span><span>)
</span></span>
<span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-number">13</span></span><span>;
</span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-title function_ invoke__">decbin</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$binary</span></span><span>; </span><span><span class="hljs-comment">// 輸出 1101</span></span><span>
</span></span>
在這個例子中,我們將十進制數13轉換成了二進制的1101 。
bindec和decbin可以配合使用,讓我們在二進制和十進制之間自由轉換。比如,我們可以先用decbin將十進制數轉換為二進制,然後用bindec將二進制轉換回十進制。
<span><span><span class="hljs-comment">// 十進制轉二進制</span></span><span>
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-number">27</span></span><span>;
</span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-title function_ invoke__">decbin</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"十進制 <span class="hljs-subst">$decimal</span></span></span><span> 轉換為二進制是: </span><span><span class="hljs-subst">$binary</span></span><span>\n";
</span><span><span class="hljs-comment">// 二進制转十進制</span></span><span>
</span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-string">"11011"</span></span><span>;
</span><span><span class="hljs-variable">$decimal_back</span></span><span> = </span><span><span class="hljs-title function_ invoke__">bindec</span></span><span>(</span><span><span class="hljs-variable">$binary</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"二進制 <span class="hljs-subst">$binary</span></span></span><span> 转换为十進制是: </span><span><span class="hljs-subst">$decimal_back</span></span><span>\n";
</span></span>
輸出:
<span><span>十進制 27 轉換為二進制是: 11011
二進制 11011 转换为十進制是: 27
</span></span>
通過這個示例,可以看到我們通過decbin將27轉換為11011 ,再通過bindec將11011轉換回了27 ,實現了十進制和二進制之間的互轉。
bindec和decbin都只支持標準的二進制和十進制格式。如果傳入無效的二進製字符串(如包含非0、1的字符), bindec將返回0。
decbin對於負數的處理也有特別之處。它會返回帶有符號位的二進製字符串。
<span><span><span class="hljs-variable">$negative_decimal</span></span><span> = -</span><span><span class="hljs-number">10</span></span><span>;
</span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-title function_ invoke__">decbin</span></span><span>(</span><span><span class="hljs-variable">$negative_decimal</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"十進制 <span class="hljs-subst">$negative_decimal</span></span></span><span> 轉換為二進制是: </span><span><span class="hljs-subst">$binary</span></span><span>\n";
</span></span>
輸出:
<span><span>十進制 -10 轉換為二進制是: -1010
</span></span>
這表明decbin會自動為負數加上負號。
bindec和decbin是PHP 中用於二進制與十進制相互轉換的兩個非常實用的函數。它們的配合使用可以幫助我們在編程中更加方便地進行數值轉換,尤其在需要處理二進制數據或進行底層操作時,二進制與十進制的轉換會非常有用。掌握這兩個函數的使用,可以讓你在PHP 編程時更加得心應手。