PHP两个n位的二进制整数相加问题的解决


Posted in PHP onAugust 26, 2018

两个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 相关文章推荐
PHP下10件你也许并不了解的事情
Sep 11 PHP
检查php文件中是否含有bom的函数
May 31 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
浅析php中json_encode()和json_decode()
May 25 PHP
php实现汉字验证码和算式验证码的方法
Mar 07 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
php 防止表单重复提交两种实现方法
Nov 03 PHP
Zend Framework框架实现类似Google搜索分页效果
Nov 25 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
Jun 13 PHP
浅谈PHP封装CURL
Mar 06 PHP
PHP连接sftp并下载文件的方法教程
Aug 26 #PHP
PHP操作Redis数据库常用方法示例
Aug 25 #PHP
PHP实现基于3DES算法加密解密字符串示例
Aug 24 #PHP
PHP与以太坊交互详解
Aug 24 #PHP
php获取微信基础接口凭证Access_token
Aug 23 #PHP
php对微信支付回调处理的方法
Aug 23 #PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 #PHP
You might like
php curl基本操作详解
2013/07/23 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
php操作access数据库的方法详解
2017/02/22 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
juqery 学习之三 选择器 简单 内容
2010/11/25 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
2015/09/09 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
常用Javascript函数与原型功能收藏(必看篇)
2016/10/09 Javascript
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
解决python读取几千万行的大表内存问题
2018/06/26 Python
python实现单链表中删除倒数第K个节点的方法
2018/09/28 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Python持续监听文件变化代码实例
2020/07/22 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
墨尔本复古时尚品牌:Dangerfield
2018/12/12 全球购物
eDreams德国:南欧领先的在线旅游公司
2020/12/07 全球购物
大学军训感言800字
2014/02/27 职场文书
生物制药专业求职信
2014/03/11 职场文书
太太口服液广告词
2014/03/20 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
区级文明单位申报材料
2014/05/15 职场文书
中秋晚会策划方案
2014/06/12 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
辩护词格式
2015/05/22 职场文书
实施意见格式范本
2015/06/05 职场文书
信用卡收入证明范本
2015/06/12 职场文书
详解Vue中$props、$attrs和$listeners的使用方法
2022/02/18 Vue.js
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers