Exponent

Return an integer corresponding to the unbiased exponent of a double-precision floating-point number.

Usage

var exponent = require( '@stdlib/number/float64/base/exponent' );

exponent( x )

Returns an integer corresponding to the unbiased exponent of a double-precision floating-point number.

var exp = exponent( 3.14e307 ); // => 2**1021 ~ 1e307
// returns 1021

exp = exponent( 3.14e-307 ); // => 2**-1019 ~ 1e-307
// returns -1019

exp = exponent( -3.14 );
// returns 1

exp = exponent( 0.0 );
// returns 0

exp = exponent( NaN );
// returns 1024

Examples

var randu = require( '@stdlib/random/base/randu' );
var round = require( '@stdlib/math/base/special/round' );
var pow = require( '@stdlib/math/base/special/pow' );
var exponent = require( '@stdlib/number/float64/base/exponent' );

var frac;
var exp;
var x;
var e;
var i;

// Generate random numbers and extract their exponents...
for ( i = 0; i < 100; i++ ) {
    frac = randu() * 10.0;
    exp = round( randu()*646.0 ) - 323;
    x = frac * pow( 10.0, exp );
    e = exponent( x );
    console.log( 'x: %d. unbiased exponent: %d.', x, e );
}