[#BloombergLP-bdldfp-DecimalUtil-decompose-0f]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdldfp.adoc[bdldfp]::xref:BloombergLP/bdldfp/DecimalUtil.adoc[DecimalUtil]::decompose
:relfileprefix: ../../../
:mrdocs:

`decompose` overloads

== Synopses

Declared in `&lt;bdldfp&lowbar;decimalutil&period;h&gt;`

Same as the related overload above for `decompose`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdldfp/DecimalUtil/decompose-086.adoc[decompose](
    int* sign,
    xref:BloombergLP/bdldfp/Uint128.adoc[Uint128]* significand,
    int* exponent,
    xref:BloombergLP/bdldfp/Decimal128.adoc[Decimal128] value);
----

[.small]#xref:BloombergLP/bdldfp/DecimalUtil/decompose-086.adoc[_» more&period;&period;&period;_]#

Same as the overload taking `Decimal32`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdldfp/DecimalUtil/decompose-088.adoc[decompose](
    int* sign,
    xref:BloombergLP/bsls/Types/Uint64.adoc[bsls::Types::Uint64]* significand,
    int* exponent,
    xref:BloombergLP/bdldfp/Decimal64.adoc[Decimal64] value);
----

[.small]#xref:BloombergLP/bdldfp/DecimalUtil/decompose-088.adoc[_» more&period;&period;&period;_]#

Decompose the specified decimal `value` into the components of the decimal floating&hyphen;point format and load the result into the specified `sign`, `significand` and `exponent` such that `value` is equal to `sign &ast; significand &ast; (10 &ast;&ast; exponent)`&period; The special values infinity and NaNs are decomposed to `sign`, `exponent` and `significand` parts, even though they don&apos;t have their normal meaning (except `sign`)&period; That is those specific values cannot be restored using these parts, unlike the finite ones&period; Return the integer value that represents the floating point classification of the specified `value` as follows&colon;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
static
int
xref:BloombergLP/bdldfp/DecimalUtil/decompose-03.adoc[decompose](
    int* sign,
    unsigned int* significand,
    int* exponent,
    xref:BloombergLP/bdldfp/Decimal32.adoc[Decimal32] value);
----

[.small]#xref:BloombergLP/bdldfp/DecimalUtil/decompose-03.adoc[_» more&period;&period;&period;_]#


[.small]#Created with https://www.mrdocs.com[MrDocs]#
