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

Image
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.