/** * Convert a 2 bytes array into a short integer number. * * @param b A 2 bytes array. * @return A short integer number. * @throws NullPointerException * {@code b} is {@code null}. * @throws IllegalArgumentException * The length of {@code b} is not 2. * @since Beryllium */ public static short toShort(byte[] b) { checkLength(b, NUM_OCTETS_SHORT); int value = (b[0] & MASK_BYTE) << Byte.SIZE; return (short)(value | (b[1] & MASK_BYTE)); }
/** * Convert a 4 bytes array into an integer number. * * @param b A 4 bytes array. * @return An integer number. * @throws NullPointerException * {@code b} is {@code null}. * @throws IllegalArgumentException * The length of {@code b} is not 4. */ public static int toInteger(byte[] b) { checkLength(b, NUM_OCTETS_INTEGER); int index = 0; int value = (b[index++] & MASK_BYTE) << INT_SHIFT_OCTET1; value |= (b[index++] & MASK_BYTE) << INT_SHIFT_OCTET2; value |= (b[index++] & MASK_BYTE) << INT_SHIFT_OCTET3; return value | (b[index] & MASK_BYTE); }