PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP で 2 進数を 10 進数に変換する – 簡単なステップバイステップ ガイド

2 進数から 10 進数への変換は、2 進数 (0 と 1 のみを使用する 2 進数の数値) を、同等の 10 進数 (10 進数形式) に変換するプロセスです。

この記事では、さまざまなアプローチを使用して PHP で 2 進数を 10 進数形式に変換する方法を学びます。

2 進数から 10 進数への変換の仕組み

2 進数を 10 進数に変換するには、各 2 進数にその位置の 2 の累乗 (右側の 0 から開始) を乗算し、すべての結果を合計します。

2 進数から 10 進数への変換:1011 位置:3 2 1 0 2 進数:1 0 1 1 計算:1×2³ 0×2² 1×2¹ 1×2? =8 =0 =2 =1 結果:8 + 0 + 2 + 1 =11

方法 1:組み込みのbindec() 関数を使用する

PHP は bindec() を提供します 2 進数を 10 進数に直接変換する関数 ?

<?php
$binary = "101";
// Convert binary to decimal using bindec()
$decimal = bindec($binary);
echo "Binary $binary = Decimal $decimal";
?>
Binary 101 = Decimal 5

方法 2:ループを使用した手動変換

このアプローチでは、各 2 進数を反復処理して 10 進数値を手動で計算します。

<?php
$binary = "1011";
$decimal = 0;
$length = strlen($binary);
// Loop through each digit from right to left
for ($i = 0; $i < $length; $i++) {
 $digit = $binary[$length - $i - 1];
 $decimal += $digit * pow(2, $i);
}
echo "Binary $binary = Decimal $decimal";
?>
Binary 1011 = Decimal 11

方法 3:ビット単位の左シフトを使用する

このメソッドは効率的な変換のためにビット単位の演算を使用します?

<?php
function binaryToDecimalBitwise($binary) {
 $decimal = 0;
 for ($i = 0; $i < strlen($binary); $i++) {
 $decimal = ($decimal << 1) + $binary[$i];
 }
 return $decimal;
}
$binary = "1111";
$decimal = binaryToDecimalBitwise($binary);
echo "Binary $binary = Decimal $decimal";
?>
Binary 1111 = Decimal 15

方法の比較

メソッド 時間計算量 空間の複雑さ 最適な用途 bindingec()O(1)O(1)単純な変換手動ループO(n)O(1)学習アルゴリズムビット単位シフトO(n)O(1)パフォーマンスクリティカル

結論

bindec() を使用してください PHP での単純な 2 進数から 10 進数への変換用。教育目的またはカスタム ロジックの場合は、ループまたはビット単位の演算を使用して手動変換を実装します。

PHP で 2 進数を 10 進数に変換する – 簡単なステップバイステップ ガイド


  1. PHPでimagesetstyle()関数を使用して線画のスタイルを設定するにはどうすればよいですか?

    imagesetstyle() 線画のスタイルを設定するために使用されるPHPの組み込み関数です。 imagepolygonなどのすべての線画関数で使用できます またはimageline 。 構文 bool imagesetstyle(resource $image, array $style) パラメータ imagesetstyle() 2つのパラメータを取ります: $ image および$style 。 $ image −作業する画像リソースを指定します。 $ style −ピクセルカラーの配列を指定します。 戻り値 imagesetstyle() 成

  2. PHPでimagestringup()関数を使用して文字列を垂直に描画するにはどうすればよいですか?

    imagestringup() は、画像を垂直方向に描画するために使用されるPHPの組み込み関数です。 構文 bool imagestringup ($image, $font, $x, $y, $string, $color) パラメータ imagestring() $ image、$ font、$ x、$ y、$ string、$colorの6つのパラメータを受け入れます。 $ image − $imageパラメータはimagecreatetruecolor()を使用します 指定されたサイズの空白の画像を作成する関数。 $ font − $ fontパラメータは、