通过使用打包/解包/提取存储在long中的位来以升序/降序打印数字

时间:2014-10-21 16:54:45

标签: java operators bit-manipulation

我必须使用按位运算符以不同的顺序打印数字。我不能使用数组或任何排序算法。

到目前为止我写的代码看起来像这样,但我不知道如何继续或如何订购这些数字。

       public class Order {

       public static void main(String[] args) {
          int a1,a2,a3,a4;
          a1=4; a2=1; a3=10; a4=2;

          long result = pack(a1,a2,a3,a4);
          System.out.println("Long: " + result);      
          System.out.println("Binary: " + Long.toBinaryString(result));
       }

       public static long pack(int c1, int c2, int c3, int c4){    
          return ((0xFFL & c1) << 24) | ((0xFFL & c2) << 16) | ((0xFFL & c3) << 8) |(0xFFL    &c4);
          }
       }   

0 个答案:

没有答案