本帖最后由 wangcarong 于 2010-12-28 18:28:40 编辑

解决方案 »

  1.   

    0x7fff的二进制是:0111111111111111
    >>是右移
    <<是左移
      

  2.   

    0x7fffffff
    0x是16进制的数的标志,对应的十进制的数21474836470x7fff=32767>> 位移
      

  3.   


    0x7fff 前面的 0  x什么意思啊
      

  4.   


    $probe>>16  什么意思?
      

  5.   

    $probe = 0x7fffffff
    二进制是:
    0111 1111 1111 1111 1111 1111 1111 1111
    $probe>>16后,得到:
    0111 1111 1111 1111
    跟$max是相等的。
      

  6.   

    $probe的二进制
    1111111111111111111111111111111右移16位
    111111111111111
      

  7.   

    0x开头是代码16进制>>> 右移,右移一位 等于 X2
    <<< 左移,左移一位 等于 /2
      

  8.   

    我也凑下热闹这个函数是取得最大的数
    上面大家介绍的0x就是十六进制 然后 >> << 分别是把位数右移和左移。
    然后通过while 循环 不断判断 直到得到最大的max 
      

  9.   


    $probe = ($probe << 16) + 0xffff;    这句什么意思啊??可以解释详细点么高手? 谢谢