ホームページ > バックエンド開発 > PHPチュートリアル > 【PHP学習】2つのnビット2進整数の加算を実装する

【PHP学習】2つのnビット2進整数の加算を実装する

little bottle
リリース: 2023-04-06 11:14:02
転載
1831 人が閲覧しました

この記事では、PHP を使用して 2 つの n ビット 2 進整数を加算する方法について説明します。これには参照値があります。興味のある友人はそれについて学ぶことができます。

質問: 2 つの n ビット 2 進数が、それぞれ 2 つの n 要素配列 A および B に格納されます。これら 2 つの整数の合計が、n 要素配列 C に格納されます。
回答: この質問は主に加算のキャリーを調べる問題です 要素1 1 =0で1ビット進みます
ADD-BINARY(A,B)
C=new integer[A.length 1]
キャリー=0
for i=A.length downto 1
## C[i]=carry

コードは次のとおりです:

<?php
function addBinary($A,$B){
        $C=array();
        $length=count($A);
        $carry=0;
        for($i=$length-1;$i>=0;$i--){
                //当前位的数字逻辑 1+1=0 1+0=1
                $C[$i+1]=($A[$i]+$B[$i]+$carry)%2;
                //进位的数字逻辑  1+1=1 1+0=0
                $carry=intval(($A[$i]+$B[$i]+$carry)/2);
        }   
        $C[$i+1]=$carry;
        return $C; 
}

$A=array(0,1,1,0);
$B=array(1,1,1,1);
$C=addBinary($A,$B);
var_dump($C);
ログイン後にコピー

関連チュートリアル:

PHPビデオチュートリアル

以上が【PHP学習】2つのnビット2進整数の加算を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート