仓酷云
标题:
PHP网站制作之PHP位运算 详解
[打印本页]
作者:
仓酷云
时间:
2015-1-16 22:14
标题:
PHP网站制作之PHP位运算 详解
HTML中的任何元素都要亲自实践,只有明白了什么元素会起到什么效果之后,你才会记忆深刻,而一味的啃书,绝对是不行的,我想大部分新手之所以觉得概念难学,大部分是一个字“懒”,懒是阻止进步的最大敌人,所以克服掉懒的习惯,才能更快的学好一样工具。
在实践使用中能够做用户权限的使用我这里说到的权限办理举措是一个广泛接纳的办法,次要是利用到”位运转符”操纵,&位与运算符、位或运转符。介入运算的假如是10进制数,则会被转换至2进制数介入运算,然后盘算了局会再转换为10进制数输入。它的权限值是如许的2^0=1,响应2进数为”0001″(在这里^我暗示成”次方”,即:2的0次方,下同)2^1=2,响应2进数为”0010″2^2=4,响应2进数为”0100″2^3=8,响应2进数为”1000″要判别一个数在某些数局限内就能够利用&运算符(数值从下面的表中得来)如:7=421 (你也能够复杂了解成7=4+2+1)用&来操纵,能够晓得7&4、7&2、7&1都是真的,而假如7&8则是假的&、 不熟习的就要往查查手册,看看是怎样用的了上面来看例子吧://付与权限值-->删除:8、上传:4、写进:2、只读:1define(“mDELETE”,8);define(“mUPLOAD”,4);define(“mWRITE”,2);define(“mREAD”,1);//vvvvvvvvvvvvv利用申明vvvvvvvvvvvvv//部门司理的权限为(假定它具有此部门的一切权限),是位或运转符,不熟习的就查查材料echomDELETEmUPLOADmWRITEmREAD,”“;//相称因而把下面的权限值加起来:8+4+2+1=15//设我只要upload和read权限,则echomUPLOADmREAD,”“;//相称因而把上传、只读的权限值分离相加:4+1=5/**付与它多个权限就分离获得权限值相加,又好比某位员工具有除删除外的权限其他都具有,那它的权限值是几?*应当是:4+2+1=7*分明了怎样赋值给权限吧?*///^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//判别或人的权限可用,设权限值在$key中/**判别权限用&位与符,*/$key=13;//13=8+4+1if($key&mDELETE)echo“有删除权限“;//8if($key&mUPLOAD)echo“有上传权限“;//4$a=$key&mWRITE;echo“有写权限“.$a;//无此权限if($key&mREAD)echo“有读权限“;//1?> OK,权限分值的这个中一个算法就是如许的,能够说是复杂高效。也不知人人分明没有,不分明也不妨,记着例子就好了。条件就是做好权限值的散布,即谁人1、2、4、8、16….(这里另有个按次成绩,越初级的权限就要越高的权限值,好比下面的例子所演示的删除权限)。有了权限散布表就能够断定给某团体甚么权限了,你复杂的了解成要哪一个权限就加上响应的权限值吧。 这个办法很好用的,弱点就是假如权限散布得细的话,那末权限值会愈来愈年夜,你本人想一想,2的几回方、假如一切的权限都要则是全体相加。不外关于一样平常的权限来讲这个已充足了。上面是些复杂使用举例(1)判别int型变量a是奇数仍是偶数a&1=0偶数a&1=1奇数(2)取int型变量a的第k位(k=0,1,2……sizeof(int)),即a>>k&1(3)将int型变量a的第k位清0,即a=a&~(1<(4)将int型变量a的第k地位1,即a=a(1<(5)int型变量轮回左移k次,即a=a16-k(设sizeof(int)=16)(6)int型变量a轮回右移k次,即a=a>>ka<<16-k(设sizeof(int)=16)(7)整数的均匀值关于两个整数x,y,假如用(x+y)/2求均匀值,会发生溢出,由于x+y大概会年夜于INT_MAX,可是我们晓得它们的均匀值是一定不会溢出的,我们用以下算法:intaverage(intx,inty)//前往X,Y的均匀值{return(x&y)+((x^y)>>1);}(8)判别一个整数是否是2的幂,关于一个数x>=0,判别他是否是2的幂booleanpower2(intx){return((x&(x-1))==0)&&(x!=0);}(9)不必temp互换两个整数voidswap(intx,inty){x^=y;y^=x;x^=y;}(10)盘算相对值intabs(intx){inty;y=x>>31;return(x^y)-y;//or:(x+y)^y}(11)取模运算转化成位运算(在不发生溢出的情形下)a%(2^n)等价于a&(2^n–1)(12)乘法运算转化成位运算(在不发生溢出的情形下)a*(2^n)等价于a<<n(13)除法运算转化成位运算(在不发生溢出的情形下)a/(2^n)等价于a>>n例:12/8==12>>3(14)a%2等价于a&1(15)if(x==a)x=b; elsex=a; 等价于x=a^b^x;(16)x的相反数暗示为(~x+1)在32位体系上不要右移凌驾32位,不要在了局大概凌驾32位的情形下左移
复制代码
培训的第四阶段,就是应用PHP语言开发实际的程序。以结合实际的项目开发来进行学习,效果真的很好,在学习完之后就开始练习,能比较容易掌握所学的知识,这是学校的学习所没法比的。
作者:
小女巫
时间:
2015-1-19 05:53
基础有没有对学习php没有太大区别,关键是兴趣。
作者:
透明
时间:
2015-1-27 23:50
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
作者:
海妖
时间:
2015-2-5 16:11
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者:
乐观
时间:
2015-2-12 22:57
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者:
谁可相欹
时间:
2015-3-3 11:29
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者:
莫相离
时间:
2015-3-11 10:53
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者:
爱飞
时间:
2015-3-18 10:47
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己
作者:
深爱那片海
时间:
2015-3-25 21:15
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2