65,189
社区成员




float f2 = 999.123F;
float f3 = 999.567F;
//结果:1148831711
int i2 = Float.floatToIntBits(f2);
int i3 = Float.floatToIntBits(f3);
//int是4字节存储, 大端模式顺序处理
byte[] byteBuf2 = StaticConvert.intToByte4B(i2);
//int是4字节存储, 大端模式顺序处理
byte[] byteBuf3 = StaticConvert.intToByte4B(i3);
//f2大端结果: 44 79 C7 DF
hex2 = StaticConvert.parseByte2HexStr(byteBuf2, 4);
//f3大端结果: 44 79 E4 4A
hexStr = StaticConvert.parseByte2HexStr(byteBuf3, 4);
System.out.println(" 转成int: "+ i2);
System.out.println(" 16进制: "+ hex2);
System.out.println(" 16进制: "+ hexStr);
规约上要求 f2在前面则这样送: 44 79 C7 DF 44 79 E4 4A
规约上要求 f2在前后则这样送: 44 79 E4 4A 44 79 C7 DF
多个数据之前的顺序按规约的排列来处理, 单个数值是多字节时内部按大小端规定处理.
float f2 = 999.123F;
//结果:1148831711
int i2 = Float.floatToIntBits(f2);
//int是4字节存储, 大端模式顺序处理
byte[] byteBuf2 = StaticConvert.intToByte4B(i2);
//int是4字节存储, 小端模式顺序处理
byte[] byteBuf3 = StaticConvert.intToByte4L(i2);
//大端结果: 44 79 C7 DF
hex2 = StaticConvert.parseByte2HexStr(byteBuf2, 4);
//小端结果: DF C7 79 44
hexStr = StaticConvert.parseByte2HexStr(byteBuf3, 4);
System.out.println(" 转成int: "+ i2);
System.out.println(" 16进制: "+ hex2);
System.out.println(" 16进制: "+ hexStr);
int 在java中是 4字节, 转成16进制正好是 4*2 =8字符, 每2个字节是 1字节, 大小端处理后的串是相反的.
如果值是一个字节 就没有大小端之分的, 只有多字节的值才区分大小端.