php 实现二进制加法运算
php实现二进制加法:
思路:没有工作中应用过此场景,但十进制的加法还是经常做的,能不能用十进制加法变相实现呢?
答案是可以的,并且php也提供进制间转换的函数,我的实现使用了
bindec():二进制转十进制;decbin():十进制转二进制
<?php function binplus($arg1,$arg2){
if($arg1 == '' || $arg2 == ''){
return false;
}
$tmpsum = bindec($arg1) + bindec($arg2);
return decbin($tmpsum);
}
echo binplus('101','1');
知识普及:
二进制:计算机技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。他的基数是2,进位规则为:“逢二进一”,由18世纪德国数理哲学大师莱布尼兹发现
当前计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码形式存储的。
运算:
加法:分四种情况:
0+0=0;0+1=1;1+0=1;1+1=10
乘法:分四种情况:
0*0=0;0*1=0;1*0=0;1*1=1
减法:0-0=0;1-1=0;1-0=1;0-1=1
除法:00÷1=0;1÷1=1
在计算机中,除了十进制是有符号的外,其他如二进制、八进制、十六进制都是无符号的。
进制转换:
二进制转十进制:“按权展开求和”
【例】:规律:个位上的数字的次数是0,十位上的数字的次数是1,......,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。注意:不是任何一个十进制小数都能转换成有限位的二进制数。
十进制转二进制:“除以2取余,逆序排列”
【例】:89÷2 ……144÷2 ……022÷2 ……011÷2 ……15÷2 ……12÷2 ……01· 十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)【例】: (0.625)10= (0.101)20.625X2=1.25 ……10.25 X2=0.50 ……00.50 X2=1.00 ……1
php 实现二进制加法运算的更多相关文章
- 整数运算:CPU内部只有加法运算
学汇编的一边儿去.我这里讲的是CPU进行计算的原理.首先我这里用MC的红石电路模拟了一个加法器:http://www.0xaa55.com/thread-313-1-1.htm首先加法器是怎么实现的呢 ...
- 【 c语言中无符号和有符号的加法运算】【深入理解】--【sky原创】
原文:[ c语言中无符号和有符号的加法运算][深入理解]--[sky原创] 第一题 #include<stdio.h> int main() { unsigned int a=6; i ...
- python之使用位运算符实现加法运算
一哥们去笔试,回来后跟我说了一通面试题,其中有一道题让我很感兴趣: 不使用+号实现加法运算 刚听到后,一脸懵逼,不使用+号怎么算? 问了朋友他也没做这题,不过仔细想了下,不使用+号,是否可以使用其他运 ...
- RNN入门(4)利用LSTM实现整数加法运算
本文将介绍LSTM模型在实现整数加法方面的应用. 我们以0-255之间的整数加法为例,生成的结果在0到510之间.为了能利用深度学习模型模拟整数的加法运算,我们需要将输入的两个加数和输出的结果 ...
- C语言不使用加号实现加法运算的几种方法
今天看到<编码:隐匿在计算机软硬件背后的语言>的第十二章:二进制加法器.讲述了全加器,半加器的原理以及如何实现加法.实现加法时所使用的全加器,半加器中包含的所有逻辑门在C语言中都有相应的运 ...
- jQuery的加法运算.
jQuery的加法运算. 加法运算 ?想必大家听到这都会不屑了,加法运算这是多么简单的运算.然而有的时候在jQuery也让人挺头疼的. 常规的是: var num1 = 123; var num2=1 ...
- Ajax案例(使用ajax进行加法运算)
此案例功能实现了一边看视频一边进行加法运算,而加法运算时页面不会刷新请求 ajax代码: <script type="text/javascript" src="j ...
- Problem B: 大整数的加法运算
Problem B: 大整数的加法运算 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 112 Solved: 57[Submit][Status][W ...
- 简单的新手加法运算(基于Struts2)
软件151 王帅 在搭好框架的前提下,首先编写action.java文件: import com.opensymphony.xwork2.ActionSupport; public class Us ...
随机推荐
- uva540 Team Queue by sixleaves
这道题目.主要是对队列的灵活应用.其实就是一道模拟题目,只要你洞察出题目的本质就十分简单.题目意思大体是有多组测试数据,每组的一开始是一个数字t,代表一共有多少的团队,接着是t行输入,每一行都由一个数 ...
- 何谓Dandy?它是一种着装风格
何谓Dandy?它是一种着装风格_女性_腾讯网 何谓Dandy?它是一种着装风格 2012年02月17日09:47腾讯专稿我要评论(0) 字号:T|T 何谓Dandyism?它是一种风格,词根Da ...
- U盘量产的作用
优盘量产:字面意思就是,批量生产优盘.是指批量对U盘主控芯片改写数据,如,写生产厂商信息.格式化等.而用来对U盘完成该操作的软件程序,顾名思义就是U盘量产工具. U盘量产的作用: 电脑正确识别 ...
- SharePoint Search之(一):创建Search服务应用程序
计划写一个关于怎样使用SharePoint Search的系列,包括下面几个方面: (一)创建Search Service Application (二)持续爬网(continues crawl) ( ...
- 【最小费用最大流】【HDU1533】【Going Home】
题意 给你一个类似这样的图 ...H.... ...H.... ...H.... mmmHmmmm ...H.... ...H.... ...H.... 问所有H移动到所有m上花费最少的步数 以所有H ...
- JavaScript事件处理程序 学习笔记
我一直认为Javascript的特点就是在和用户交互的过程中可以进行一些操作,那么事件作为用户交互的主要部分就显得特别重要,今天先学习了JS事件处理程序的相关内容. 首先,要明白Javascript ...
- 02安卓用户界面优化之(二)SlidingMenu使用方法
一.SlidingMenu配置方法 1.下载SlidingMenu:https://github.com/jfeinstein10/SlidingMenu 2.拷贝SlidingMenu-master ...
- 新炬学院OCM讲师《Oracle核心技术》译作面世
对于数据库爱好者来讲,Oracle是最值得研究的数据库.学习Oracle数据库时,一本好书的引导和启发是非常必要的,毫无疑问,<Oracle核心技术>就是这样一本好书. <Oracl ...
- PARTITION(number theory) ALSO Explosive number in codewars
问题出于codewars,简言之:寻找和为一个整数的的不同整数组合.https://en.wikipedia.org/wiki/Partition_(number_theory) 例如:和为6的整数组 ...
- Node.js包管理器:
Node.js包管理器: 当我们要把某个包作为工程运行的一部分时,通过本地模式获取,如果要在命令行下使用,则使用全局模式安装 使用全局模式安装的包并不能直接在JavaScript文件中用require ...