PHP面试题库
-
PHP乘法运算转化成位运算
PHP乘法运算转化成位运算 (在不产生溢出的情况下)
1a * (2^n) 等价于 a<< n -
PHP取模运算转化成位运
PHP取模运算转化成位运算 (在不产生溢出的情况下)
1a % (2^n) 等价于 a & (2^n – 1) -
PHP计算绝对值
PHP计算绝对值
1234567891011int abs( int x ){int y ;y = x >> 31 ;return (x^y)-y ; //or: (x+y)^y} -
PHP不用temp交换两个整数
PHP不用temp交换两个整数
123456void swap(int x , int y){x ^= y;y ^= x;x ^= y;} -
判断一个整数是不是2的幂,对于一个数 x >= 0,判断他是不是2的幂
判断一个整数是不是2的幂,对于一个数 x >= 0,判断他是不是2的幂
1234boolean power2(int x){return ((x&(x-1))==0)&&(x!=0);} -
PHP判断int型变量a是奇数还是偶数
PHP判断int型变量a是奇数还是偶数
12a&1 = 0 偶数a&1 = 1 奇数 -
PHP从低位到高位,将n的第m位置0
PHP从低位到高位,将n的第m位置0
1return $n & ~(1 << ($m-1)); -
PHP从低位到高位.将n的第m位置1
PHP从低位到高位.将n的第m位置1
1return $n | (1 << ($m-1)); -
PHP从低位到高位,取n的第m位
PHP从低位到高位,取n的第m位
1return ($n >> ($m-1)) & 1; -
PHP不用临时变量交换两个数
PHP不用临时变量交换两个数
123$a ^= $b;$b ^= $a;$a ^= $b;