欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php 进制及位运算

程序员文章站 2023-01-28 22:53:11
//八进制 ,前面加0代表8进制 echo 0123 , '
'; //十进制83 从右到左3个位,分别是以1顶1,以1顶8 ,以1顶64...
//八进制 ,前面加0代表8进制
echo 0123 , '<br/>'; //十进制83 从右到左3个位,分别是以1顶1,以1顶8 ,以1顶64
echo 027 , '<br/>';//23
 
//十六进制,前面加0x代表16进制 , 0 1 2 3 4 5 6 7 8 9 a b c d e f 
echo 0x123 , '<br/>';//十六进制 从右到左3个位,分别是以1顶1,以1顶16 ,以1顶256
echo 0x27 ."<br>";
echo 0x1c ."<br>"; //28
 
//二进制 ,php目前不支持直接表示 ,从右到左,分别以1顶1,顶2,顶4,顶8.....
/*
10进制       2进制
5        0000 0101
255          1111 1111        
*/
 
//位运行符,&位与运算符 , | 位或运算符
echo 5&12 ,'<br/>'; //6
echo 5|12 ,'<br/>'; //13
 
echo 5^12 ,'<br/>';//异或 9
 
echo ~5 ,'<br/>';//取反
 
//利用位运算的左移一位,使整数增大2倍;相应得位运算的右移一位,使整数减小2倍
$a=3;
echo $a << 1 ,'<br/>';//6
echo $a << 2 ,'<br/>';//12
 
 
// 赋予权限值-->(删除:8)( 上传:4) (写入:2) (只读:1)
define(“mDELETE”,8);
define(“mUPLOAD”,4);
define(“mWRITE”,2);
define(“mREAD”,1);
 
//部门经理的权限为(假设它拥有此部门的所有权限)
echo mDELETE|mUPLOAD|mWRITE|mREAD // 相当于是把上面的权限值加起来:8+4+2+1=15
 
// 设我只有 upload 和 read 权限,则
echo mUPLOAD|mREAD