| frexp(n) | Tcl Float Decomposition | frexp(n) |
NAME
frexp - Split a floating-point number into fraction and exponent parts
SYNOPSIS
package require tcl 9.1
frexp value
DESCRIPTION
The frexp command takes a floating-point number, value, and returns a list of two values. The first element of the result is the fractional part of value (signed, of magnitude between 0.5 and 1.0), and the second element of the result is the integer exponent from value. When value is infinite, the fraction is also infinite (of the same sign).
EXAMPLE
The frexp command is paired with the ldexp function, like this:
set value 123.456
lassign [frexp $value] frac exp
set recovered [expr { ldexp($frac, $exp) }]
puts "$value -> $frac*2**$exp -> $recovered"
# 123.456 -> 0.9645*2**7 -> 123.456
SEE ALSO
KEYWORDS
floating point
| 9.1 | Tcl |