все Python 3Числа и математикафункция
math.frexp
представление
Раскладывает число на мантиссу m и экспоненту e: x = m·2^e, 0.5 ≤ |m| < 1.
Синтаксис
math.frexp(...)
Разложение двоичное, а не десятичное: frexp(8) даёт (0.5, 4), потому что 8 = 0.5·2^4, а не (8.0, 0), как подсказывает привычка к научной записи по основанию 10. Операция точная, без округления, и math.ldexp(*math.frexp(x)) вернёт исходное число бит в бит. Мантисса — float, экспонента — int; для нуля результат (0.0, 0).
Примеры
import math
print(math.frexp(8)) # → (0.5, 4)
print(math.frexp(0.5)) # → (0.5, 0)
print(math.frexp(-12)) # → (-0.75, 4)
print(math.frexp(0)) # → (0.0, 0)
m, e = math.frexp(10); print(m * 2 ** e) # → 10.0
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности