現在の位置: ホーム> 最新記事一覧> bindec()およびsprintf()は、出力をフォーマットします

bindec()およびsprintf()は、出力をフォーマットします

M66 2025-05-31

PHPでは、バイナリデータを処理して10進数に変換することは、特に基礎となるデータ処理とネットワークプログラミングにおいて、一般的な要件です。この記事では、bindec()関数とsprintf()関数を結合して、バイナリ文字列の小数に変換され、出力結果をフォーマットする方法を紹介します。


1。bindec ()関数を理解します

Bindec()は、バイナリ文字列を対応する小数に変換するPHP組み込み関数です。その構文はシンプルです:

 int bindec ( string $binary_string )

例えば:

 $binary = "1101"; // バイナリ文字列
$decimal = bindec($binary);
echo $decimal; // 出力13

bindec()は01で構成される文字列のみを受け入れます。そうしないと、0が戻ります。


2。sprintf ()関数を理解します

sprintf()は、文字列出力をフォーマットするために使用されます。指定された数字の幅、パディング文字、小数桁など、データを指定された形式にフォーマットできます。その典型的な使用法は次のとおりです。

 string sprintf ( string $format [, mixed $args [, mixed $... ]] )

例:

 $num = 42;
echo sprintf("%05d", $num); // 出力 "00042",使用0幅に埋めます5

3。Bindec ()Sprintf()を組み合わせて、フォーマットされた出力を実装します

バイナリ文字列があると仮定して、最初に10進数に変換してから、固定幅の数値にフォーマットし、1000分の1分のセパレーターを追加する必要があります。

 $binary = "101101"; // バイナリ文字列

// 最初に10進数に変換します
$decimal = bindec($binary);

// 使使用 sprintf 形式,假设出力宽度为6,前にゼロ
$formatted = sprintf("%06d", $decimal);

echo $formatted; // 出力 "000045"

4。実用的な例:張力付きの出力形式

数千桁をコンマで分離したい場合は、 number_format()を組み合わせることができます。

 $binary = "111111111"; // 9個々1,小数はです511

$decimal = bindec($binary);
$formatted = number_format($decimal);

echo $formatted; // 出力 "511"

5. Advanced:バイナリURLパラメーターから出力を取得してフォーマットします

バイナリパラメータービンに渡されるURLがあるとしたら、出力を取り出してフォーマットしたいとします。

 // 例URL:http://m66.net/example.php?bin=10110

$binary = $_GET['bin'] ?? '0';
$decimal = bindec($binary);
$formatted = sprintf("%08d", $decimal);

echo "バイナリ: $binary<br>";
echo "形式后的十进制: $formatted";

ここでは、バイナリ文字列を小数に変換し、ゼロが追加された8桁の数字にフォーマットします。


要約します

  • bindec()は、バイナリを小数に変換するために使用されます。

  • sprintf()はデジタル出力をフォーマットできます。

  • 2つを組み合わせることで、バイナリデータを簡単に変換し、出力を美化できます。

  • また、 Number_Format()で使用して、よりフレンドリーなデジタルディスプレイを実現することもできます。

これは、基礎となるデータ、ログ表示、パラメーターの配信を処理するのに非常に役立ちます。