这篇文章主要为大家详细介绍了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数据加密方式梳理介绍 2023-07-03
- PHP实现生成数据字典功能示例 2022-10-18
- php中使用array_filter()函数过滤数组实例讲解 2023-05-19
- PHP删除数组中指定值的元素常用方法实例分析【4种方法】 2022-11-12
- TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例 2023-01-19
- thinkPHP3.2.2框架行为扩展及demo示例 2022-11-07
- laravel model模型定义实现开启自动管理时间created_at,updated_at 2023-03-02
- TP5 连接多个数据库及使用方法 2023-08-30
- PHP使用SMTP邮件服务器发送邮件示例 2022-11-16
- PHP实现创建一个RPC服务操作示例 2023-04-01