SFloatExponent - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


SFloatMantissa

return the mantissa of a floating-point number

SFloatExponent

return the exponent of a floating-point number

 

Calling Sequence

Parameters

Description

Thread Safety

Examples

Calling Sequence

SFloatMantissa(x,base)

SFloatExponent(x,base)

Parameters

x

-

software or hardware floating-point number

base

-

(optional) 2 or default 10

Description

• 

The SFloatMantissa(x) function returns the mantissa field of x as a Maple integer.

  

If x is any numeric argument other than a floating-point number, an error is generated. Otherwise, this function returns unevaluated.

• 

The SFloatExponent(x) function returns the exponent field of x as a Maple integer, symbolic infinity, or undefined.

  

If x is any numeric argument other than a floating-point number, an error is generated. Otherwise, this function returns unevaluated.

• 

For all software floating-point numbers x (including software float infinities and undefineds), SFloat( SFloatMantissa(x), SFloatExponent(x) ) = x.

• 

These functions can be used for hardware floating-point numbers (see HFloat) with the second argument of 2. Such numbers are represented internally in the form mantissa  2^exponent.

• 

When the optional base argument is omitted or set to 10, hardware floating-point numbers may still be passed to SFloatMantissa and SFloatExponent.  This will result in an implicit conversion to software floating-point format before the operation is carried out.

  

Note that SFloatMantissa(HFloat(m,e)) and SFloatMantissa(HFloat(m,e,2),2) are not usually equal to m.  When HFloat(m,e) or HFloat(m,e,2) is created, the mantissa and exponent are normalized to the standard underlying 64-bit hardware double representation. Extracting the mantissa or exponent using the base-2 option returns the mantissa or exponent as stored.  Extracting the mantissa or exponent in base-10 form incurs a conversion to an equivalent software floating-point format that may not exactly match the input expression.

• 

For all hardware floating-point numbers x (including hardware float infinities and undefined's), HFloat( SFloatMantissa(x), SFloatExponent(x) ) = x, and HFloat( SFloatMantissa(x,2), SFloatExponent(x,2), 2 ) = x.

Thread Safety

• 

The SFloatMantissa and SFloatExponent commands are thread-safe as of Maple 15.

• 

For more information on thread safety, see index/threadsafe.

Examples

a2345.678

a2345.678

(1)

SFloatMantissaa

2345678

(2)

SFloatExponenta

−3

(3)

SFloatSFloatMantissaa,SFloatExponenta

2345.678

(4)

bHFloat2345.678

b2345.67800000000

(5)

SFloatMantissab

234567799999999988

(6)

SFloatExponentb

−14

(7)

SFloatMantissab,2

5158200472036704

(8)

SFloatExponentb,2

−41

(9)

SFloatMantissab,22.SFloatExponentb,2

2345.678000

(10)

HFloatSFloatMantissaa,SFloatExponenta

2345.67800000000

(11)

See Also

float

HFloat