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 相关文章推荐
xajax写的留言本
Nov 25 PHP
php目录管理函数小结
Sep 10 PHP
PHP gbk环境下json_dencode传送来的汉字
Nov 13 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
PHP计算2点经纬度之间的距离代码
Aug 12 PHP
深入理解PHP中的global
Aug 19 PHP
thinkphp配置连接数据库技巧
Dec 02 PHP
php实现网站文件批量压缩下载功能
Oct 28 PHP
简单概括PHP的字符串中单引号与双引号的区别
May 07 PHP
PHP 返回13位时间戳的实现代码
May 13 PHP
PHP中STDCLASS用法实例分析
Nov 11 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
JavaScript对象学习经验整理
2013/10/12 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
JS组件Bootstrap Table布局详解
2016/05/27 Javascript
简单学习vue指令directive
2016/11/03 Javascript
清除输入框内的空格
2016/12/21 Javascript
如何快速上手Vuex
2017/02/14 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
2019/11/13 Javascript
python实现自动网页截图并裁剪图片
2018/07/30 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
Python缓存技术实现过程详解
2019/09/25 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
CSS3 边框效果
2019/11/04 HTML / CSS
Betsey Johnson官网:妖娆可爱的连衣裙及鞋子、手袋和配件
2016/12/30 全球购物
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
传播学专业毕业生自荐信
2013/11/04 职场文书
2014年自我评价
2014/01/04 职场文书
大学生学业生涯规划
2014/01/05 职场文书
逃课检讨书
2015/01/26 职场文书
观后感的写法
2015/06/19 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL