이 기사에서는 PHP를 사용하여 두 개의 n비트 이진 정수를 추가하는 방법에 대해 설명합니다. 여기에는 참조 값이 있으며 관심 있는 친구들이 이에 대해 배울 수 있습니다.
질문: 두 개의 n비트 이진수는 각각 두 개의 n 요소 배열 A와 B에 저장됩니다. 이 두 정수의 합은 n+1 요소 배열 C에 저장됩니다.
답변: 이 질문은 주로 덧셈을 검사합니다. carry 문제, 요소 1+1 =0이고 앞으로 1개 이동
ADD-BINARY(A,B)
C=new 정수[A.length+1]
carry=0
for i= A.길이 1
C [i+1]=(A[i]+B[i]+carry)%2
carry=(A[i]+B[i]+carry)/2
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 학습] 두 개의 n 비트 이진 정수 추가 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!