# Minimum and maximum value of NumPy data type

Understanding the minimum and maximum values of a NumPy data type is useful because it can help prevent overflow or underflow errors when working with large or small numbers. By knowing the range of values that can be stored in a data type, programmers can design their code to handle potential overflow or underflow errors appropriately, such as by using a larger data type or by scaling the input data to a smaller range. In this thread, we will explore how to print the minimum and maximum values of each NumPy scalar type.

#### 1. By "iinfo()" and "finfo()" functions:

• The `info()` method in NumPy provides information about a NumPy array, such as its shape, size, data type, and memory usage.

• `finfo()` in NumPy provides details about floating-point data types, including their precision, minimum and maximum representable values, and memory usage

You can used NumPy’s `iinfo()` and `finfo()` functions to get information about the minimum and maximum representable values for integer and floating-point types, respectively.

The given code prints the minimum and maximum values of different NumPy data types. It does this by iterating over a list of data types and using `np.iinfo()` and `np.finfo()` functions to retrieve information about the range of values for each type.

#### 2. Using "struct" module:

The `struct()` module can be used to pack and unpack binary data in a specified format. It supports a wide range of data types, including integers, floats, and strings, as well as more complex data types, such as arrays and structures.

##### a. "int" datatype:
You can use this module to get the minimum and maximum representable values for each NumPy data type.

Let us see the example of `NumPy's int data type`.

The above code prints the minimum and maximum values of integer NumPy data types. It does this by iterating over a list of integer data types and using the `struct` module to determine the size of the data type and the minimum and maximum values that can be represented.

##### b. "float" data type:

Now, Let us see the example of `NumPy's float data type`.

The above code uses the struct module and NumPy to print the minimum and maximum representable values for floating-point data types float16, float32, and float64. For each data type, it calculates the format character and size, and then uses the struct module to unpack the bytes corresponding to the minimum and maximum representable values. The resulting values are printed out along with the name of the data type.