Class Base16Util


  • public final class Base16Util
    extends Object

    The Base16Util class is a final class that provides static methods for converting base 16 numbering system values in string representation to a Java's Primitive Data Type.

    Currently this class supports converting base 16 numbers values in string representation to integer int values and integer long values.

    This class can parse unsigned base 16 numbers to a supported integer signed type as if the integer type is unsigned. However, some of the values must be interprete properly to get the correct result.

    Example for interpreting signed value as unsigned value.

    It is possible to store the value of 18446744073709551615L into a long(signed) value. However, if that value is stored into a signed long integer type and if we were to interprete the value normally, we would get a -1L value. However, if the -1L value is pass to LongUtil.toStringAsUnsigned, we would get 18446744073709551615 in string format.

    The following example is to get to -1L. First, we assign a value of 9223372036854775807L to an interger long variable, multiply that variable to 2L, and add 1L to it.

         long a = 9223372036854775807L * 2L + 1L;
         System.out.println(a);
         System.out.println(LongUtil.toStringAsUnsigned(a));
     

    Example methods for interprete signed type as unsigned type in a decimal strings value are IntUtil.toStringAsUnsigned and LongUtil.toStringAsUnsigned.

    Since:
    1.0.0.f
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int toInt​(String input)
      Parse the input string as signed base 16 digits representation into an integer int value.
      static int toIntAsUnsigned​(String input)
      Parse the input string as unsigned base 16 number representation into an integer int value as if the integer int is an unsigned type.
      static long toLong​(String input)
      Parse the input string as signed base 16 number representation into an integer long value.
      static long toLongAsUnsigned​(String input)
      Parse the input string as unsigned base 16 number representation into an integer long value as if the integer long is an unsigned type.
    • Method Detail

      • toInt

        public static int toInt​(String input)
        Parse the input string as signed base 16 digits representation into an integer int value.
        Parameters:
        input - A string to be parsed as signed base 16 number to an integer int value.
        Returns:
        An integer int value of the signed base 16 number input string.
        Throws:
        NumberFormatException - If the input string contains invalid signed base 16 digits, if the input string contains a value that is smaller than the value of Integer.MIN_VALUE( -2147483648), or if the input string contains a value that is larger than the value of Integer.MAX_VALUE( 2147483647).
        EmptyStringException - If the input string is empty.
        Since:
        1.0.0.f
      • toIntAsUnsigned

        public static int toIntAsUnsigned​(String input)
        Parse the input string as unsigned base 16 number representation into an integer int value as if the integer int is an unsigned type. For values that need to be interpreted correctly, see the toStringAsUnsigned method of the IntUtil class.
        Parameters:
        input - A string to be parsed as unsigned base 16 number to an integer int value as if the integer int is an unsigned type.
        Returns:
        An int value that represents an unsigned integer int value of the unsigned base 16 number input string.
        Throws:
        NumberFormatException - If the input string contains invalid unsigned base 16 digits, if the input string contains a value that is beyond the capacity of the integer int data type.
        EmptyStringException - If the input string is empty.
        Since:
        1.0.0.f
      • toLong

        public static long toLong​(String input)
        Parse the input string as signed base 16 number representation into an integer long value.
        Parameters:
        input - A string to be parsed as signed base 16 number to an integer long value.
        Returns:
        An integer long value of the signed base 16 number input string.
        Throws:
        NumberFormatException - If the input string contains invalid signed base 16 digits, if the input string contains a value that is smaller than the value of Long.MIN_VALUE( -9223372036854775808L), or if the input string contains a value that is larger than the value of Long.MAX_VALUE( 9223372036854775807L).
        EmptyStringException - If the input string is empty.
        Since:
        1.0.0.f
      • toLongAsUnsigned

        public static long toLongAsUnsigned​(String input)
        Parse the input string as unsigned base 16 number representation into an integer long value as if the integer long is an unsigned type. For values that need to be interpreted correctly, see the toStringAsUnsigned method of the LongUtil class.
        Parameters:
        input - A string to be parsed as unsigned base 16 number to an integer long value as if the integer long is an unsigned type.
        Returns:
        An integer long value represent the unsigned integer long value of the unsigned base 16 number input string.
        Throws:
        NumberFormatException - If the input string contains invalid unsigned base 16 digits, or if the {code input} string contains a value that is beyond the capacity of the long data type.
        EmptyStringException - If the input string is empty.
        Since:
        1.0.0.f