如何把一个short数放到一个byte[2]的数组里去?

解决方案 »

  1.   

    import java.text.*;
    import javax.swing.*;public class Test { public static void main(String[] argv) {
    short a = -1;
    byte[] b = new byte[2];

    b[0] = (byte)(a);
    b[1] = (byte)(a >>> 8) ; System.out.println(b[0] + " " + b[1]);
    }
    }
      

  2.   

    非常感谢zlxia0013(JKL)
    请问如何从byte反转回short呢?
      

  3.   

    已经搞定,非常感谢zlxia0013(JKL)如下:  /**
       * 将一个byte转换为short
       * @param b byte[]
       * @param offset int
       * @return short
       */
      public static short byte2short(byte[] b, int offset) {
        return (short) ( (b[offset + 1] & 0xFF) +
                        ( ( ( (short) b[offset]) << 8) & 0xFF00));  }  /**
       * 将一个short转换成2个byte
       * @param n int
       * @return byte[]
       */
      public static byte[] short2byte(short n) {
        byte b[] = new byte[2];
        b[0] = (byte) (n >> 8);
        b[1] = (byte) n;
        return b;
      }