设计一个类,实现对长整型数据的分割,要求:
1)将长整型数据分割成两个整型(即将前32位赋给一个整型,后32位赋给另一个整型);
2)必须使用位移来实现;

解决方案 »

  1.   

    long s = ...
    int a = s;
    int b = s<<32
      

  2.   

    哦错了是
    int b = s >> 32;
      

  3.   

    问题是那样的话 你的长整型要在整型的范围内 不然后32位有可能会溢出的int low = (int)((s << 32)>>32);
    int high = (int)(s >> 32);
      

  4.   

    long l=333333;
    int high=l>>>32;
    int low=(int)l;
      

  5.   

    更正:
    int high=(int)(l>>>32);
    int low=(int)l;