Get the approximate number of decimal digits to which this kind of float is precise in Python


To get the approximate number of decimal digits to which this kind of float is precise, use the precision attribute of the numpy.finfo() method in Python Numpy. The first parameter of the finfo() is the float i.e. the kind of float data type to get information about.

Steps

At first, import the required library −

import numpy as np

Checking for float16 type. The precision is to get the approximate number of decimal digits. The iexp is to get the number of bits in the exponent portion. The min is the minimum value of given dtype. The max is the minimum value of given dtype −

a = np.finfo(np.float16(45.976))
print("The precision to get the approximate number of decimal digits...\n",a.precision)
print("Number of bits in the exponent portion...\n",a.iexp)
print("Minimum of float16 type...\n",a.min)
print("Maximum of float16 type...\n",a.max)

Checking for float32 type −

b = np.finfo(np.float32(22.3))
print("\nThe precision to get the approximate number of decimal digits...\n",a.precision)
print("Number of bits in the exponent portion...\n",b.iexp)
print("Minimum of float32 type...\n",b.min)
print("Maximum of float32 type...\n",b.max)

Checking for float type −

c = np.finfo(np.float64(29.2))
print("\nThe precision to get the approximate number of decimal digits...\n",a.precision)
print("Number of bits in the exponent portion...\n",c.iexp)
print("Minimum of float64 type...\n",c.min)
print("Maximum of float64 type...\n",c.max)

Example

import numpy as np

# To get the approximate number of decimal digits to which this kind of float is precise, use the precision attribute of the numpy.finfo() method in Python Numpy
# The first parameter of the finfo() is the float i.e. the kind of float data type to get information about.

# Checking for float16 type
a = np.finfo(np.float16(45.976))
print("The precision to get the approximate number of decimal digits...\n",a.precision)
print("Number of bits in the exponent portion...\n",a.iexp)
print("Minimum of float16 type...\n",a.min)
print("Maximum of float16 type...\n",a.max)

# Checking for float32 type
b = np.finfo(np.float32(22.3))
print("\nThe precision to get the approximate number of decimal digits...\n",a.precision)
print("Number of bits in the exponent portion...\n",b.iexp)
print("Minimum of float32 type...\n",b.min)
print("Maximum of float32 type...\n",b.max)

# Checking for float type
c = np.finfo(np.float64(29.2))
print("\nThe precision to get the approximate number of decimal digits...\n",a.precision)
print("Number of bits in the exponent portion...\n",c.iexp)
print("Minimum of float64 type...\n",c.min)
print("Maximum of float64 type...\n",c.max)

Output

The precision to get the approximate number of decimal digits...
3
Number of bits in the exponent portion...
5
Minimum of float16 type...
-65500.0
Maximum of float16 type...
65500.0

The precision to get the approximate number of decimal digits...
3
Number of bits in the exponent portion...
8
Minimum of float32 type...
-3.4028235e+38
Maximum of float32 type...
3.4028235e+38

The precision to get the approximate number of decimal digits...
3
Number of bits in the exponent portion...
11
Minimum of float64 type...
-1.7976931348623157e+308
Maximum of float64 type...
1.7976931348623157e+308

Updated on: 24-Feb-2022

475 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements