Scroll to navigation

frexp(3tcl) Tcl Float Decomposition frexp(3tcl)


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

expr(3tcl), mathfunc(3tcl), modf(3tcl)

KEYWORDS

floating point

9.1 Tcl