int x=123;
byte[] bitstr=new byte[4];
bitstr[0]=(byte)(x&ff000000);
bitstr[1]=(byte)(x&00ff0000);
bitstr[2]=(byte)(x&0000ff00);
bitstr[3]=(byte)(x&000000ff);

解决方案 »

  1.   

    byte  byteArray[] = new byteArray[4];
    byteArray[0] = myint;
    byteArray[1] = myint>>1;
    byteArray[2] = myint>>2;
    byteArray[3] = myint>>3;
      

  2.   

    byteArray[1] = myint>>1;是什么意思,会不会导致精确度的丢失呢?
      

  3.   

    不好意思我前面寫錯了
    應該:
    int x=123;
    byte[] bitstr=new byte[4];
    bitstr[0]=(byte)(x&0xff000000);
    .......
      

  4.   

    如果这样写,我的x如果是变量怎么办?不好意思我前面寫錯了
    應該:
    int x=123;
    byte[] bitstr=new byte[4];
    bitstr[0]=(byte)(x&0xff000000);
      

  5.   

    byte[] bytes = new byte[4];
    bytes [0]=(byte)( (myInt >>> 24 ) 0xff);
    bytes [1]=(byte)( (myInt >>> 16 ) 0xff);
    bytes [2]=(byte)( (myInt >>> 8 ) 0xff);
    bytes [3]=(byte)( (myInt >>> 0 ) 0xff);
      

  6.   

    这么做好像不错,不过还是出错,出错提示是没有括号!byte[] bytes = new byte[4];
    bytes [0]=(byte)( (myInt >>> 24 ) 0xff);
    bytes [1]=(byte)( (myInt >>> 16 ) 0xff);
    bytes [2]=(byte)( (myInt >>> 8 ) 0xff);
    bytes [3]=(byte)( (myInt >>> 0 ) 0xff);
      

  7.   

    sorry, 写的急int myInt;

    byte[] bytes = new byte[4];
    bytes [0]=(byte)( (myInt >>> 24 ) && 0xff);
    bytes [1]=(byte)( (myInt >>> 16 ) && 0xff);
    bytes [2]=(byte)( (myInt >>> 8 ) && 0xff);
    bytes [3]=(byte)( (myInt >>> 0 ) && 0xff);