解决方案 »

  1.   

    2个字节最大就是0111111111111111,最小的1000000000000000
    转成十进制则是32767~-32768
    刚才对应JAVA的sort类型的范围,
    所以如果你的数字刚才是这个范围 内的话,转换不会有问题,但如果超过这个数字范围了,会自动把高位截掉(符号位不变)。所有没办法完美的实现你的要求,当然如果是存储需要的话你可以借用压缩的方式来处理来思考一下。
      

  2.   

        public static short swapShort(short value) {
            return (short) ( ( ( ( value >> 0 ) & 0xff ) << 8 ) +
                ( ( ( value >> 8 ) & 0xff ) << 0 ) );
        }
    @see org.apache.commons.io.EndianUtils