/** * Convert signed bytes to a 16-bit unsigned int. */ private static int unsignedBytesToInt(final byte b0, final byte b1) { return (unsignedByteToInt(b0) + (unsignedByteToInt(b1) << 8)); }
/** * Convert signed bytes to a 32-bit unsigned int. */ private static int unsignedBytesToInt(final byte b0, final byte b1, final byte b2, final byte b3) { return (unsignedByteToInt(b0) + (unsignedByteToInt(b1) << 8)) + (unsignedByteToInt(b2) << 16) + (unsignedByteToInt(b3) << 24); }
/** * Convert signed bytes to a 32-bit short float value. */ private static float bytesToFloat(final byte b0, final byte b1, final byte b2, final byte b3) { int mantissa = unsignedToSigned(unsignedByteToInt(b0) + (unsignedByteToInt(b1) << 8) + (unsignedByteToInt(b2) << 16), 24); return (float) (mantissa * Math.pow(10, b3)); }
/** * Convert signed bytes to a 16-bit short float value. */ private static float bytesToFloat(final byte b0, final byte b1) { int mantissa = unsignedToSigned(unsignedByteToInt(b0) + ((unsignedByteToInt(b1) & 0x0F) << 8), 12); int exponent = unsignedToSigned(unsignedByteToInt(b1) >> 4, 4); return (float) (mantissa * Math.pow(10, exponent)); }
return unsignedByteToInt(mValue[offset]); return unsignedToSigned(unsignedByteToInt(mValue[offset]), 8);