ホームページ  >  記事  >  バックエンド開発  >  PHPで10進数を2進数に変換する方法

PHPで10進数を2進数に変換する方法

PHPz
PHPzオリジナル
2023-04-25 18:28:151184ブラウズ

コンピューター サイエンスでは、2 進数は数値を表す最も基本的な方法であり、コンピューターで使用される数値体系でもあります。 10 進数を 2 進数に変換することは、コンピューター サイエンスにおける一般的な問題です。 PHP は人気のあるサーバーサイド スクリプト言語であり、10 進数を 2 進数に変換する組み込み関数もいくつか提供しています。この記事では、PHPを使用して10進数を2進数に変換する方法を紹介します。

1. PHP 組み込み関数を使用する

PHP には、10 進数を 2 進数に変換するための組み込み関数 decbin() が用意されています。

以下は、decbin() 関数を使用して 10 進数を 2 進数に変換するサンプル コードです:

$decimal_number = 15;
$binary_number = decbin($decimal_number);

echo "十进制数 " . $decimal_number . " 转换为二进制数是:" . $binary_number;

上記のコードを実行すると、次の結果が出力されます:

十进制数 15 转换为二进制数是:1111

上記の例 サンプル コードでは、まず変数 $decmal_number に 10 進数の 15 を代入します。次に、$decmal_number を PHP の組み込み関数 decbin() に渡します。 decbin() 関数は、$decmal_number を 2 進数に変換し、結果を変数 $binary_number に保存します。

最後に、$binary_number の値を画面に出力します。上記の手順を組み合わせると、10 進数 15 を 2 進数 1111 に変換することができました。

2. 手動計算方法

PHP の組み込み関数を使用する以外に、10 進数を 2 進数に手動で変換することもできます。 2 進数を手動で計算する方法は、結果が 0 になるまで 10 進数を 2 で割り続けることです。各除算演算では、剰余を記録し、その剰余を逆の順序で並べて 10 進数の 2 進数表現を取得する必要があります。

以下は、10 進数と 2 進数を手動で計算するためのサンプル コードです:

$decimal_number = 15;
$binary_number = "";

while($decimal_number>0){
  $reminder = $decimal_number%2;
  $binary_number .= $reminder;
  $decimal_number = $decimal_number/2;
}

$binary_number = strrev($binary_number);

echo "十进制数 " . $decimal_number . " 转换为二进制数是:" . $binary_number;

上記のサンプル コードでは、まず 10 進数 15 を変数 $decmal_number に割り当てます。次に、while ループを使用して 10 進数を 2 進数に変換します。

各反復では、$decmal_number を 2 で除算し、剰余を変数 $reminder に格納します。次に、$reminder の値を変数 $binary_number の末尾に追加します。

最後に、PHP 組み込み関数 strrev() を使用して $binary_number を反転し、変数 $binary_number に代入します。

上記のコードを実行すると、次の結果が得られます:

十进制数 15 转换为二进制数是:1111

3. 配列を使用して手動計算方法での数値順序の問題を解決します

手動計算のプロセス中2 進数の計算では、正しい 2 進数を得るために余りを逆順に並べる必要があります。 PHP では、配列を使用することでこの問題を解決できます。

以下は、配列を使用して余りを逆順に並べ替えて 10 進数を 2 進数に変換するサンプル コードです。

$decimal_number = 15;
$binary_number = [];

while($decimal_number>0){
  $reminder = $decimal_number%2;
  array_push($binary_number,$reminder);
  $decimal_number = $decimal_number/2;
}

$binary_number = array_reverse($binary_number);
$binary_number = implode($binary_number);

echo "十进制数 " . $decimal_number . " 转换为二进制数是:" . $binary_number;

上記のサンプル コードでは、まず、 10 進数の 15 を変数 $decmal_number に代入します。次に、while ループを使用して 10 進数を 2 進数に変換します。

各反復では、$decmal_number を 2 で除算し、その余りを配列 $binary_number に格納します。次に、PHP 組み込み関数 array_reverse() を使用して、$binary_number 配列を逆順に並べ替えます。最後に、implode() 関数を使用して $binary_number 配列を文字列に変換します。

上記のコードを実行すると、次の結果が得られます:

十进制数 15 转换为二进制数是:1111

概要:

この記事では、PHP で 10 進数を 2 進数に変換する方法を紹介します。 PHP の組み込み関数 decbin() を使用して、10 進数を 2 進数に変換できます。さらに、手動で 2 進数を計算し、余りを逆順に並べて数値順序の問題を解決したり、配列を使用して余りを格納し、それを逆順に並べて正しい 2 進数を取得したりすることもできます。もちろん、最も簡単な方法は、PHP の組み込み関数 decbin() 関数を使用することです。

以上がPHPで10進数を2進数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。