php中二进制函数,PHP-----函数和二进制

递归-----函数本身调用本身。每一个栈中的变量都是独立的,不受外部变量的影响,除非传参。这一点和Js不一样。

8ec6918c454a8c90cae6fc99bfd1ff22.png

在一个php页面中要引用其他的php文件可以使用require,require_once或者include,include_once;

require引入的文件如果不存在则会报错,而include只会警告waring,程序可以继续运行。带有_once表明只会读取一次文件。

25a7202e6a595704d677e52b87c4b952.png

7dbddbd8e25810bb7cfb6d08eea0f9e5.png

b1c569a4959b36f9ba9128fa0d76de32.png

变量的地址,使用global可以引用外部的变量,使用unset()则可以删除一个变量;案例

8f828054572d01ad4ed748a465dcafb1.png

在形参变量前面加上地址符&,则可以把函数内部变量的执行结果传到函数外面。

8a618213bfc7048442fc9a1506519542.png

Js中的全局和局部变量:

fcecaa27ea5212ceb9bf034c36bfbf34.gif1

2 var a=2;3 functionb(a){4 //局部变量

5 a+=20;6 alert(a);7 }8 b(a);9 alert(a);10 //22;

11 //传参--->> 2;

12

fcecaa27ea5212ceb9bf034c36bfbf34.gif

fcecaa27ea5212ceb9bf034c36bfbf34.gif1 /*$a=2;2 function b(){3 //global $a;4 $a+=20;5 //未定义6 echo a;7 }8 b();9 echo $a;*/

10 //22;11 //和js里的全局变量有区别,php里面必须声明,否则只是局部变量

fcecaa27ea5212ceb9bf034c36bfbf34.gif

传参时,给参数设置默认值:

fcecaa27ea5212ceb9bf034c36bfbf34.gif1 //------默认值设置

2 function aa($a,$b=1){3 $res=$a+$b;4 return $res;5 }6 $e=10;7 $f=100;8 echo aa($e,$f);//第二个数值会默认代替;如果第二个值重新定义,则会取代默认值

fcecaa27ea5212ceb9bf034c36bfbf34.gif

二进制:只需要知道二进制三码之间的转换规则,以及位运算的规则,基本上没有什么难度。

二进制中的原码,反码,补码

cf2b44192afe9b6f7eac13df20e17c9b.png

位运算规则:

3fbefda383a518f2a6602b625cacd34f.png

8f71e40b32675dc3737976b984e0cf70.png

案例

1e5eb32a8ed548c2e67c3da4db0cffa2.png

391f6c5e07d3f05df385e8e1187dcca3.png

案例

fcecaa27ea5212ceb9bf034c36bfbf34.gif1 echo ~5;2 //-63 //分析步骤4 //正数的原码,反码,补码都是一样的,所以先求出补码,正数的符号位以0开头5 //00000000 00000000 00000000 00000101----》1*1+0*2+1*4=56 //11111111 11111111 11111111 11111010----》取反-----现在为负数的补码,需要转换为原码7 //11111111 11111111 11111111 11111001----》转换为反码-1;8 //10000000 00000000 00000000 00000110----》原码-----》0*0+1*2+1*4=-6;

9

10 $a=-1>>2;11 echo $a;12 //013 //把二进制表示的-1向右移动2位,但是首先要算出负数的补码14 //10000000 00000000 00000000 00000001----》原码15 //11111111 11111111 11111111 11111110----》反码--(符号位不能变)16 //11111111 11111111 11111111 11111111----》补码17 //11111111 11111111 11111111 11111111----》从符号位后开始向右移动,用符号位1补齐---最后转换为原码18 //11111111 11111111 11111111 1111111019 //10000000 00000000 00000000 00000001---->>结果为-120

21 //最终结论:每向左移动一次乘以2,向右移动一次除以2;

fcecaa27ea5212ceb9bf034c36bfbf34.gif

原文:http://www.cnblogs.com/paxster/p/3545108.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值