本帖最后由 frequent 于 2011-07-07 13:39:10 编辑

解决方案 »

  1.   

    首先你在两种语言中的运算次序不同,所以不可能得到正确结果
    C里面没有那个括号,php中也不应有
    $ch2=$ch1^131+5;
    这样 $ch2 为 239
    由于 php 中的整数都是 logn 类型的,所以表现的不是负数
    要这样做
    print_r(unpack('c',chr(239)));
    Array
    (
        [1] => -17
    )当然你可以用 $ch2-256 来把它变成负数,总感觉有点怪怪的
      

  2.   

    本帖最后由 xuzuning 于 2011-07-07 15:32:12 编辑