| | |
| | | * @return |
| | | */ |
| | | public static float byteToFloat(byte b1, byte b2, byte b3, byte b4) { |
| | | byte[] mByte = new byte[4]; |
| | | mByte[0] = b1; |
| | | mByte[1] = b2; |
| | | mByte[2] = b3; |
| | | mByte[3] = b4; |
| | | byte[] mByte = new byte[]{b4, b3, b2, b1}; |
| | | return byteArrayToFloat(mByte); |
| | | } |
| | | |
| | | |
| | | public static double byteToDouble(byte b1, byte b2, byte b3, byte b4) { |
| | | return b1 * 256 * 256 * 256 + b2 * 256 * 256 + b3 * 256 + b4; |
| | | /** |
| | | * 无符号4Byte整形 |
| | | */ |
| | | public static float byteToFloat_UnsignedInteger(byte b1, byte b2, byte b3, byte b4) { |
| | | return (b1 & 0xFF) * 256 * 256 * 256 + (b2 & 0xFF) * 256 * 256 + (b3 & 0xFF) * 256 + (b4 & 0xFF); |
| | | } |
| | | /** |
| | | * 有符号4Byte整形 |
| | | */ |
| | | public static float byteToFloat_SignedInteger(byte b1, byte b2, byte b3, byte b4) { |
| | | float mfloat = (b1 & 0x7F) * 256 * 256 * 256 + (b2 & 0xFF) * 256 * 256 + (b3 & 0xFF) * 256 + (b4 & 0xFF); |
| | | if(((b1 & 0xFF) >> 7) > 0){ |
| | | return -mfloat; |
| | | }else{ |
| | | return mfloat; |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | return getByteArray(intbits); |
| | | } |
| | | |
| | | /** |
| | | * byte[4]数组 转换为float类型 |
| | | * @param sign 数据类型 0保留 1无符号4Byte整形 2有符号4Byte整形 3Float形(代±) 注:小数点的用浮点表示,整数不表示小数点 |
| | | * @param b1~b5 sign == 3 的时候 数据值高位在前,低位在后 (数据从后往前装载,例如100的值,应该时0x00000064) |
| | | * @return |
| | | */ |
| | | public static float byteArrayToFloatWithSign(byte sign, byte b1, byte b2, byte b3, byte b4) { |
| | | try { |
| | | |
| | | if(sign == 1){//1无符号4Byte整形 |
| | | return byteToFloat_UnsignedInteger(b1, b2, b3, b4); |
| | | }else if(sign == 2){//2有符号4Byte整形 |
| | | return byteToFloat_SignedInteger(b1, b2, b3, b4); |
| | | }else if(sign == 3){//3Float形(代±) |
| | | byte[] mByte = new byte[]{b4, b3, b2, b1}; |
| | | return byteArrayToFloat(mByte); |
| | | }else{ |
| | | return byteToFloat_UnsignedInteger(b1, b2, b3, b4); |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | } |