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来实现网络服务
Sep 15 PHP
PHP实现时间轴函数代码
Oct 08 PHP
php IP转换整形(ip2long)的详解
Jun 06 PHP
php生成excel列序号代码实例
Dec 24 PHP
ThinkPHP的L方法使用简介
Jun 18 PHP
destoon二次开发常用数据库操作
Jun 21 PHP
PHP模拟asp.net的StringBuilder类实现方法
Aug 08 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 PHP
PHP类的自动加载与命名空间用法实例分析
Jun 05 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 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删除目录及目录下所有文件的方法详解
2013/06/06 PHP
Yii中表单用法实例详解
2016/01/05 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
PHP强制转化的形式整理
2020/05/22 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
理解Javascript_09_Function与Object
2010/10/16 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
node.js中的buffer.copy方法使用说明
2014/12/14 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
js显示动态时间的方法详解
2016/08/20 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
Python定义一个函数的方法
2020/06/15 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
查环查孕证明
2014/01/10 职场文书
孝老爱亲模范事迹
2014/01/24 职场文书
农贸市场管理制度
2014/01/31 职场文书
实习推荐信格式模板
2015/03/27 职场文书
养成教育工作总结
2015/08/13 职场文书
《司马光》教学反思
2016/02/22 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang