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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
PHP自动生成月历代码
Oct 09 PHP
PHP4中实现动态代理
Oct 09 PHP
PHP入门学习的几个不错的实例代码
Jul 13 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
Jul 31 PHP
一个漂亮的php验证码类(分享)
Aug 06 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
Nov 07 PHP
php时间戳转换代码详解
Aug 04 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 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
Terran剧情介绍
2020/03/14 星际争霸
通过PHP current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
PHP时间类完整代码实例
2021/02/26 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
JavaScript 继承详解(三)
2009/07/13 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
ajax上传时参数提交不更新等相关问题
2012/12/11 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
2015/03/04 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
跟我学习javascript解决异步编程异常方案
2015/11/23 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
vue.js实现刷新当前页面的方法教程
2017/07/05 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
webpack的CSS加载器的使用
2018/09/11 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
Python NumPy库安装使用笔记
2015/05/18 Python
python获取交互式ssh shell的方法
2019/02/14 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
最新自我评价范文
2013/11/16 职场文书
公司授权委托书范本
2014/09/18 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
2014年教务处工作总结
2014/12/03 职场文书