PHP を使用してバイナリ システムの 1 の数に関する統計を実装するアルゴリズム ステップの詳細な説明
今回は、バイナリシステムで 1 の数の統計的カウントを実装するための PHP アルゴリズムの手順について詳しく説明します。PHP で 1 の数の統計的アルゴリズムを実装するための 注意事項 は何ですか。バイナリ システムの実際の例を見てみましょう。
質問
10進数整数を入力し、数値の2進数表現における1の数を出力します。負の数は 2 の補数で表現されます。
解決策のアイデア
これはビット操作の質問です。
解決策 1: ビット単位の AND 演算を使用して、各ビットと 1 の AND を計算して 1 の数を見つけることができます。
解決策 2 (最適な解決策): 賢い方法です。0 ではない 2 進数には、少なくとも 1 つのビットが 1 なければなりません。この数を 1 減らすと、最後の 1 ビットが 0 になり、次のビットが 0 になります。すべての 0 が 1 になります。たとえば、10100 は 1 を引くと 10011 になります。次に、元の数値 10100 と 10011 を AND 演算すると、10000 が得られます。つまり、この演算により 1 を 0 に変えることができるので、2 進数は何回変換できることになります。操作は 1 と同じくらいあります。
実装コード
//解法一 function NumberOf1($n) { $count = 0; $flag = 1; while ($flag != 0) { if (($n & $flag) != 0) { $count++; } $flag = $flag << 1; } return $count; }
// 解法二 function NumberOf1($n) { $count = 0; if($n < 0){ // 处理负数 $n = $n&0x7FFFFFFF; ++$count; } while($n != 0){ $count++; $n = $n & ($n-1); } return $count; }
//测试 $num=45; echo $num."的二进制是".decbin($num)."<br/>"; echo $num."共有".NumberOf1($num)."个1";
実行結果:
この記事の事例を読んだ後は、この方法を習得したと思います。興味深い情報が満載です。PHP 中国語 Web サイトの他の関連記事にもご注目ください。
推奨読書:
win10で仮想ホストが設定され、localhostが使用できない場合の対処方法
PHP。 CURL と Java http の使用ステップ分析
以上がPHP を使用してバイナリ システムの 1 の数に関する統計を実装するアルゴリズム ステップの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
