如何在PHP中使用64位

时间:2014-05-23 12:15:52

标签: php binary 32bit-64bit gray-code

我写了一个函数,它将输出gray codes的序列。对于N的输入,显示N位的最后N个格雷码数。

现在,如果输入超过31,则此函数未提供正确的输出。但我需要这个至少64。我怎样才能做到这一点?

这是功能:

function gray_encode($binary) {
    $powered = pow(2, $binary) - 1;

    for ( $i = ($powered - $binary)+1; $i < ($powered+1); $i++) {
        echo decbin($i ^ ($i >> 1))  . PHP_EOL;
    }
}

gray_encode(31);

31的正确输出:http://codepad.org/8LotGD35

33的错误输出:http://codepad.org/JmfIOrrj

1-31的完整输出:http://codepad.viper-7.com/aDPx68

0 个答案:

没有答案