現在の位置: ホーム> 最新記事一覧> PHPを使用して整数のセットビット数を計算する方法

PHPを使用して整数のセットビット数を計算する方法

gitbox 2025-06-15

導入

コンピューターサイエンスでは、バイナリ数に設定されたビット数を計算する必要があることがよくあります。これは、暗号化、コーディング、コンピューターセキュリティなど、多くの分野で広く使用されています。この記事では、PHPを使用してプログラムを作成して、整数内のセットビット数を計算する方法について説明します。

バイナリ番号

ビット数を計算する前に、最初にバイナリ数を理解する必要があります。バイナリ番号は、2文字の「0」と「1」のみで構成されています。各数字は、2のカーディナリティを持つ異なる重量指数を表します。たとえば、10進数5のバイナリ表現は101です。$ 1*2^2 + 0*2^1 + 1*2^0 = 5 $として計算されます。

ビットの設定

数字が1の値があると、「セットビット」と呼ばれます。計算する必要があるのは、整数内のこのようなセットビットの数です。

プログラミング

セットビットの数を計算することは複雑なタスクではありませんが、効率的で正しく実行されるアルゴリズムを使用する必要があります。次に、PHP関数を作成してこの関数を実装します。

 
function countSetBits($num) {
    $count = 0;
    while ($num > 0) {
        $count += $num & 1;
        $num >>= 1;
    }
    return $count;
}

この関数はビット操作テクノロジーを使用して、すべての数のビットで直接動作することができます。単純なループを介して番号の各ビットを確認します。そのビットが1の場合、カウンターが増加します。

分析

「ビット操作」とは、バイナリ番号を使用した数学的計算を指します。 PHPでは、 "&"、 "|"、 "^"、 "〜"、 "<<"、「>>」などの演算子を使用できます。

私たちの機能では、「&」と「>>」演算子が使用されます。

1。「&」演算子は、数字と1でビットワイズ操作に使用されます。結果が1の場合、現在のビットが1で、カウンターが1増加することを意味します。

2。「>>」オペレーターは、次のものを比較できるように、数字を1つずつ移動します。

プログラムを実行します

関数をテストし、結果を出力するコードは次のとおりです。

 
$num = 15;
$bits = countSetBits($num);
echo "Number of set bits in " . $num . " is " . $bits;

上記のコードの出力結果は次のとおりです。

15のセットビット数は4です

要約します

PHPを使用してプログラムを作成して、数字のセットビットの数を計算することは複雑ではありません。ビット操作テクノロジーを使用することにより、数字のバイナリ表現をビットごとに比較して、セットビットの総数を計算できます。このスキルを習得することは、コンピューターの根底にある原則をよりよく理解するのに役立つだけでなく、暗号化やコーディングなどの技術分野で適用するのにも役立ちます。