Python | frexp() Function

frexp() function is one of the Standard math Library function in Python.

It returns mantissa and exponent as a pair (m, e) of a given value x, where mantissa m is a floating point number and e exponent is an integer value. m is a float and e is an integer such that x == m * 2**e exactly.

If x is zero, returns (0.0, 0), otherwise 0.5 <= abs(m) < 1. This is used to “pick apart” the internal representation of a float in a portable way.



Syntax: math.frexp( x )

Parameters: Any valid number (positive or negative).

Returns: Returns mantissa and exponent as a pair (m, e) value of a given number x.

Exception: If x is not a number, function will return TypeError.

Code #1:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code demonstrate frexp() function
  
# importing math library
import math
  
  
# calculating mantissa and
# exponent of given integer
print(math.frexp(3))
print(math.frexp(15.7))
print(math.frexp(-15))

chevron_right


Output:

(0.75, 2)
(0.98125, 4)
(-0.9375, 4)

 

Code #2:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code demonstrate frexp() function
  
# importing math library
import math
  
# creating a list
lst = [15, 13.76, 17.5, 21]
  
# creating a tuple
tpl = (-15.85, -41.24, -11.2, 54)
  
# calculating mantissa and exponent
# of 1st, 3rd elements in list 
print(math.frexp(lst[0]))
print(math.frexp(lst[2]))
  
# calculating mantissa and exponent
# of 2nd, 3rd and 4th elements in tuple 
print(math.frexp(tpl[1]))
print(math.frexp(tpl[2]))
print(math.frexp(tpl[3]))

chevron_right


Output:

(0.9375, 4)
(0.546875, 5)
(-0.644375, 6)
(-0.7, 4)
(0.84375, 6)

 
Code #3: If the x parameter is not a number, frexp() function will return a TypeError.

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 code demonstrates when error occurs
import math
  
print(math.frexp('25')) 

chevron_right


Output:

TypeError: a float is required


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.