Java中Int转byte分析

  针对声明变量 int i = 3,j = 8;
    int占4个字节,i = 3 在Java二进制表示:
      00000000 00000000 00000000 00000011
    j = 8 在Java二进制表示:
      00000000 00000000 00000000 00001000
  下面进行运算:
    1、按位与:每一位进行按位与运算,规则是
      1&1 = 1;1&0 = 0;0&1 = 0;0&0 = 0;
      所以i & j = 0
    2、右位移或者左位移
      i>>2 = 0
      向右位移两位,右边使用0补位,变成:
      00000000 00000000 00000000 00000000
      i<<2 = 12
      向左位移两位,左边使用0补位,变成:
      00000000 00000000 00000000 00001100

  所以使用Int转byte方法

public byte[] intToByte(int val){
byte[] b = new byte[4];
b[0] = (byte)(val & 0xff);
b[1] = (byte)((val >> 8) & 0xff);
b[2] = (byte)((val >> 16) & 0xff);
b[3] = (byte)((val >> 24) & 0xff);
}

  

原文地址:https://www.cnblogs.com/lihaiming93/p/9671195.html