这篇文章主要为大家详细介绍了PHP两个n位的二进制整数相加问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
两个n位的二进制整数相加问题PHP实现,供大家参考,具体内容如下
两个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
代码
<?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两个n位的二进制整数相加问题的解决
基础教程推荐
猜你喜欢
- php array分组,PHP中array数组的分组排序 2022-08-01
- 使用PHP开发留言板功能 2023-03-13
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- PHP中的错误及其处理机制 2023-06-04
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- PHP命名空间简单用法示例 2022-12-01