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函数(简单整理)
Apr 30 PHP
php中神奇的fastcgi_finish_request
May 02 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
May 04 PHP
PHP程序开发范例学习之表单 获取文本框的值
Aug 08 PHP
php class中self,parent,this的区别以及实例介绍
Apr 24 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
php中动态修改ini配置
Oct 14 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
浅谈php中curl、fsockopen的应用
Dec 10 PHP
PHP简单实现冒泡排序的方法
Dec 26 PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
模仿OSO的论坛(二)
2006/10/09 PHP
PHP 日期加减的类,很不错
2009/10/10 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
2019/10/30 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
2014/03/05 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
JavaScript实现的Tween算法及缓冲特效实例代码
2015/11/03 Javascript
实例讲解JS中setTimeout()的用法
2016/01/28 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
微信小程序复选框实现多选一功能过程解析
2020/02/14 Javascript
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
基于python监控程序是否关闭
2020/01/14 Python
如何在django中添加日志功能
2020/02/06 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
2014年大学生自我评价
2014/01/19 职场文书
大学生党员自我评价范文
2014/04/09 职场文书
理财学专业自荐书
2014/06/28 职场文书
自查自纠工作总结
2014/10/15 职场文书
现实表现材料范文
2014/12/23 职场文书
奔腾年代观后感
2015/06/09 职场文书
SQL实现LeetCode(175.联合两表)
2021/08/04 MySQL