現在の位置: ホーム> 最新記事一覧> PHPのbase_convert関数によってサポートされているバイナリ変換は何ですか?使用に関する最も完全なチュートリアル

PHPのbase_convert関数によってサポートされているバイナリ変換は何ですか?使用に関する最も完全なチュートリアル

gitbox 2025-07-09

base_convert()関数とは何ですか?

base_convert()関数は、異なるデジタル桁間を変換するために使用されます。 1つの数字(バイナリ、小数など)から別の数字に変換できます。この関数の構文は次のとおりです。

 <span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$number</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$frombase</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$tobase</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>
</span></span>

パラメーター説明:

  • $番号:変換する番号、文字列として渡されます。

  • $ frombase :現在の数値は2〜36に分割されます。

  • $ TOBASE :ターゲットバイナリ、範囲も2〜36です。

返品値:

変換された数値を文字列として返します。入力が無効であるか、パラメーターが正しくない場合、 falseが返されます。


サポートされているバイナリ範囲

base_convert()関数は、2〜36のバイナリ範囲をサポートします。これは、次の部門間で変換できることを意味します。

  • バイナリ(ベース2) :コンピューターにデータを保存するためによく使用される01のみが含まれています。

  • Octal(ベース8) :0から7の数値で構成されています。

  • 小数(ベース10) :0から9までの数値を含む毎日使用する数値システム。

  • Hexadecimal(ベース16) :コンピューター内のデータを表すために使用される0〜9およびAからFが含まれており、メモリアドレスやその他の側面で広く使用されています。

  • より高い口蓋(ベース17からベース36) :一般的な小数、バイナリなどを超えていますが、一部の特別なアプリケーションでは、まだ一意の価値があります。

たとえば、数値(16進数以上)の文字表現は、a = 10、b = 11、...、z = 35でaからzで表されます。


使用の例

1。バイナリから小数まで

バイナリ番号1011があり、それを小数に変換したいとします。

 <span><span><span class="hljs-variable">$binary</span></span><span> = </span><span><span class="hljs-string">"1011"</span></span><span>;
</span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$binary</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">10</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">// 出力:11</span></span><span>
</span></span>

この例では、バイナリ番号1011は小数11に変換されます。

2。10進数から六量体まで

小数点以下を16進変換する必要がある状況に遭遇する場合があります。たとえば、数字255を16進数に変換します。

 <span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-string">"255"</span></span><span>;
</span><span><span class="hljs-variable">$hexadecimal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">16</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$hexadecimal</span></span><span>;  </span><span><span class="hljs-comment">// 出力:FF</span></span><span>
</span></span>

ここでは、小数255は16進数FFに変換されます。

3。ヘキサデシマルからオクタルまで

16進数をOctalに変換できます。たとえば、 1f (16進数)をOctalに変換します。

 <span><span><span class="hljs-variable">$hex</span></span><span> = </span><span><span class="hljs-string">"1F"</span></span><span>;
</span><span><span class="hljs-variable">$octal</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$hex</span></span><span>, </span><span><span class="hljs-number">16</span></span><span>, </span><span><span class="hljs-number">8</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$octal</span></span><span>;  </span><span><span class="hljs-comment">// 出力:37</span></span><span>
</span></span>

16進数1FはOctal 37に変換されます。

4。10進数から他のバイナリまで(例:ベース35)

PHPのbase_convert()を使用すると、16進数よりも大きいバイナリを使用することもできます。たとえば、10進数100をベース35に変換します。

 <span><span><span class="hljs-variable">$decimal</span></span><span> = </span><span><span class="hljs-string">"100"</span></span><span>;
</span><span><span class="hljs-variable">$base35</span></span><span> = </span><span><span class="hljs-title function_ invoke__">base_convert</span></span><span>(</span><span><span class="hljs-variable">$decimal</span></span><span>, </span><span><span class="hljs-number">10</span></span><span>, </span><span><span class="hljs-number">35</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$base35</span></span><span>;  </span><span><span class="hljs-comment">// 出力:2S</span></span><span>
</span></span>

ベース35では、数値100は2秒に対応しています。


注意すべきこと

  1. 範囲制限Base_Convert()関数のサポートされているバイナリ範囲は2〜36です。この範囲を超えると、エラーが発生します。

  2. パラメータータイプ$ numberパラメーターは文字列タイプです。入力が数字であっても、文字列型に変換して渡す必要があります。

  3. ケース:バイナリ変換では、PHPは文字に敏感ではありません。たとえば、 base_convert( "10"、10、16)およびbase_convert( "10"、10、16)の結果は同じです。返された結果は大文字で表示されますが、入力が小文字の場合、自動的に変換されます。