今天就跟大家聊聊有关PHP如何实现两个n位二进制整数相加,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联建站技术团队10余年来致力于为客户提供成都网站建设、成都做网站、成都品牌网站建设、网络营销推广、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了上千多家网站,包括各类中小企业、企事单位、高校等机构单位。问题:两个n位二进制数分别存储在两个n元数组A和B中,这两个整数的和存在一个n+1元的数组C中
答:此问题主要是考察相加进位的问题,元素1+1 =0 并且往前进一位
ADD-BINARY(A,B)
C=new integer[A.length+1]
carry=0
for i=A.length downto 1
C[i+1]=(A[i]+B[i]+carry)%2
carry=(A[i]+B[i]+carry)/2
C[i]=carry
代码如下:
=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如何实现两个n位二进制整数相加有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联成都网站设计公司行业资讯频道,感谢大家的支持。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。