在物联网中,协议传输时常使用byte作为存储单位,但在一些协议中,为了节省开销,常常会使用
bit作为存储单位,以便于节省资源,高效传输。
换算单位:
int = 4byte
byte = 8bit
int转单个byte
int a = 10;byte b = (byte)a;int转byte数组
public static byte[] intToBytes(int value) {byte[] src = new byte[4];src[0] = (byte) ((value>>24) & 0xFF);src[1] = (byte) ((value>>16)& 0xFF);src[2] = (byte) ((value>>8)&0xFF);src[3] = (byte) (value & 0xFF);return src;}byte、short与int之间的相互转换就不描述了,我的其他帖子有详细转换
下面是byte转bitbyte转换为bit数组
/** * 数组长度值为8,每个值代表bit,即8个bit。bit7 -> bit0 * bit数组,bit7 -> bit0 */public static byte[] byteToBitOfArray(byte b) {byte[] array = new byte[8];for (int i = 7; i >= 0; i--) {array[i] = (byte)(b & 1);b = (byte) (b >> 1);}return array;}转换之后的数组即为包含8个bit的数组,顺序是 bit7至bit0