创建以n 1结尾的二进制字符串

时间:2014-01-29 04:04:54

标签: php math binary

这是非常基本的,但我不知道从哪里开始。我想编写一个函数,以便function nBits(integer $i)重新生成一个以n 1结尾的二进制字符串。

0 => 00000000 => chr(0)    
4 => 00001111 => chr(15)
6 => 00111111 => chr(63)

这个功能可以做到,但我觉得,效率很低。

function ($n){
    $val = pow(2, $n) - 1;
    return chr($val);
}

我怎样才能更有效地实现同样的目标?

1 个答案:

答案 0 :(得分:1)

在基本操作符工作时避免使用函数:

$val = (1<<$n) - 1;
return chr($val);