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异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
May 19 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
PHP的preg_match匹配字符串长度问题解决方法
May 03 PHP
PHP中unset,array_splice删除数组中元素的区别
Jul 28 PHP
php分页函数完整实例代码
Sep 22 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
php简单复制文件的方法
May 09 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
PHP memcache在微信公众平台的应用方法示例
Sep 13 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
如何利用PHP实现上传图片功能详解
Sep 24 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 表单提交给自己
2008/07/24 PHP
php include的妙用,实现路径加密
2008/07/29 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
解决extjs grid 不随窗口大小自适应的改变问题
2014/01/26 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
2018/02/10 Javascript
Nodejs中的JWT和Session的使用
2018/08/21 NodeJs
浅谈Fetch 数据交互方式
2018/12/20 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
python连接oracle数据库实例
2014/10/17 Python
使用grappelli为django admin后台添加模板
2014/11/18 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
python Web开发你要理解的WSGI &amp; uwsgi详解
2018/08/01 Python
解决python 自动安装缺少模块的问题
2018/10/22 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
建龙钢铁面试总结
2014/04/15 面试题
法定代表人资格证明书
2014/09/11 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
2014年导购员工作总结
2014/11/18 职场文书
客户答谢会致辞
2015/01/20 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书