byte to long 自动
long to byte 强制

解决方案 »

  1.   

    如果long型直接就是一个在byte范围内的数,那就用强制类型转换
    long l=30;
    byte b=(byte)l;如果long转成8个byte
            long l=1257913459345L;
            BigInteger big=new BigInteger(Long.toString(l));
            byte []b=big.toByteArray();
            for(int i=0;i<b.length;i++){
                System.out.println(b[i]);
            }
    也可以自己写,不过有点麻烦
      

  2.   

    sorry, BigInteger也许不合你的要求,要自己写
      

  3.   

    参考
    http://blog.csdn.net/treeroot/archive/2004/11/17/184529.aspx
      

  4.   

    long l=6223372036854775808L;
            System.out.println(l);
            System.out.println(Long.toBinaryString(l));
            byte []b=new byte[8];
            for(int i=7;i>=0;i--){
                b[i]=(byte)(l>>>(8*(7-i))&0xff);
            }
      

  5.   

    sorry!我是想说long类型和byte[]的互转换。请各位继续帮助,一定赠分
      

  6.   

    static long bytes2long(byte[] b)
    {
             //byte[] b=new byte[]{1,2,3,4}; 
             long mask=0xff;
             long temp=0;
             long res=0;
             for(int i=0;i<8;i++){
                res<<=8;
                temp=b[i]&mask;
                res|=temp;
            }
             return res;
    } static byte[] long2bytes(long num)
    {
           byte[] b=new byte[8];
           for(int i=0;i<8;i++){
                b[i]=(byte)(num>>>((7-i)*8)));
           }
           return b;
    }
      

  7.   

    把long转成String,再转byte[]好了.
      

  8.   

    to wuyuestar(五月)
    long到String再到byte[]就是ASCII码了,而且长度不定