この記事では、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 サイトの他の関連記事を参照してください。