在不同系统上使用bindec生成相同的结果

时间:2011-10-15 18:43:39

标签: php binary decimal

我很好奇是否可以在不同的系统上用php中的bindec方法生成相同的结果。

问题是,我的功能(使用bindec方法)在我的Windows 7 64位机器上测试时效果很好,但是当我将代码传输到我的Web服务器(运行linux)时,我得到了不同的结果。我已将问题缩小到bindec方法,因此我知道它导致了问题。

谢谢, 罗布

这是功能。我需要XOR运算符,但这在我的机器和服务器上产生了不同的结果,所以我自己写了一下,看看它是否有效。

function MyXOR($input, $key){
    $bin_data = decbin($input);
    $bin_key = decbin($key);
    $result_string = "";
    $len_data = strlen($bin_data);
    $len_key = strlen($bin_key);
    for($i = 0; $i < $len_data; $i++){
        if($bin_data{$i} == $bin_key{$i % $len_key}){
                $result_string .= 0;
            } else {
                $result_string .= 1;
        }
    }

    return bindec($result_string);
}

0 个答案:

没有答案