设计一个类,将长整型数据分割成两个整型,必须使用位移来实现(求5种不同解法)

解决方案 »

  1.   

    public static long GetHighWord(long longValue)
    {
    return (longValue & (0xFFFFFFFFL << 32));
    }
    public static long GetLowWord(long longValue)
    {
    return (longValue & 0x00000000ffffffffL);
    }
      

  2.   

    好像应该是这样吧?public static long GetHighWord(long longValue)
    {
    return (longValue & (0xFFFFFFFFL >> 32));
    }
    -------------------------------------------
    5种方法,太狠了吧
      

  3.   

    光移位就能有5种?倒是想看看
    不只是移位的话,用逻辑与很好操作,x&0xffffffff00000000L=高位,x&0x00000000ffffffffL=低位,高位=x-低位,低位=x-高位