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来写记数器(详细介绍)
Oct 09 PHP
php录入页面中动态从数据库中提取数据的实现
Oct 09 PHP
php+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
PHP的变量总结 新手推荐
Apr 18 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
在WordPress的文章编辑器中设置默认内容的方法
Dec 29 PHP
php事件驱动化设计详解
Nov 10 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
Apr 27 PHP
PHP-FPM和Nginx的通信机制详解
Feb 01 PHP
Yii框架实现对数据库的CURD操作示例
Sep 03 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中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
AngularJs concepts详解及示例代码
2016/09/01 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
vue实现分页栏效果
2019/06/28 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
JavaScript RegExp 对象用法详解
2019/09/24 Javascript
用TensorFlow实现lasso回归和岭回归算法的示例
2018/05/02 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
python读写配置文件操作示例
2019/07/03 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
python 实现字符串下标的输出功能
2020/02/13 Python
python——全排列数的生成方式
2020/02/26 Python
利用python在excel中画图的实现方法
2020/03/17 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
html5 标签
2009/07/16 HTML / CSS
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
UNIX命令速查表
2012/03/10 面试题
初婚初育证明
2014/01/14 职场文书
校园十大歌手策划书
2014/02/01 职场文书
2014爱耳日宣传教育活动总结
2014/03/09 职场文书
装修活动策划方案
2014/08/27 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
【海涛教你打DOTA】剑圣第一人称视角解说
2022/04/01 DOTA
详解OpenCV曝光融合
2022/04/29 Python