[#BloombergLP-bdldfp-operator_rshift-0e]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdldfp.adoc[bdldfp]::operator&gt;&gt;
:relfileprefix: ../../
:mrdocs:

Right shift operators

== Synopses

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

Return an `Uint128` value equal to the value of a bitwise right shift of the specified `lhs` 128&hyphen;bit integer shifted by the specified `rhs` value&period; The behavior is undefined unless `0 &lt;&equals; rhs &lt; 128`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
xref:BloombergLP/bdldfp/Uint128.adoc[bdldfp::Uint128]
xref:BloombergLP/bdldfp/operator_rshift-04.adoc[operator&gt;&gt;](
    xref:BloombergLP/bdldfp/Uint128.adoc[Uint128] lhs,
    int rhs);
----

[.small]#xref:BloombergLP/bdldfp/operator_rshift-04.adoc[_» more&period;&period;&period;_]#

Read, into the specified `object`, from the specified input `stream` an IEEE 128 bit decimal floating&hyphen;point value as described in the IEEE&hyphen;754 2008 standard (5&period;12 Details of conversions between floating point numbers and external character sequences) and return a reference providing modifiable access to `stream`&period; If `stream` contains a Nan value, it is unspecified if `object` will receive a quiet or signaling `Nan`&period; If `stream` is not valid on entry `stream&period;good() &equals;&equals; false`, this operation has no effect other than setting `stream&period;fail()` to `true`&period; If eof (end&hyphen;of&hyphen;file) is found before any non&hyphen;whitespace characters `stream&period;fail()` is set to `true` and `object` remains unchanged&period; If eof is detected after some characters have been read (and successfully interpreted as part of the textual representation of a floating&hyphen;point value as specified by IEEE&hyphen;754) then `stream&period;eof()` is set to true&period; If the first non&hyphen;whitespace character sequence is not a valid textual representation of a floating&hyphen;point value (e&period;g&period;, 12e or e12 or 1&ast;2) the `stream&period;fail()` is set to true and `object` will remain unchanged&period; If a real number value is represented by the character sequence but it is a large positive or negative value that cannot be stored into `object` then store the value of the macro `ERANGE` into `errno` and positive or negative infinity is stored into `object`, respectively&period; If a real number value is represented by the character sequence but it is a small positive or negative value that cannot be stored into `object` then store the value of the macro `ERANGE` into `errno` and positive or negative zero is stored into `object`, respectively&period; If a real number value is represented by the character sequence but it cannot be stored exactly into `object`, the value is rounded according to the current rounding direction (of the environment) and then stored into `object`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class CHARTYPE,
    class TRAITS&gt;
bsl::basic&lowbar;istream&lt;CHARTYPE, TRAITS&gt;&
xref:BloombergLP/bdldfp/operator_rshift-0c.adoc[operator&gt;&gt;](
    bsl::basic&lowbar;istream&lt;CHARTYPE, TRAITS&gt;& stream,
    xref:BloombergLP/bdldfp/Decimal128.adoc[Decimal128]& object);
----

[.small]#xref:BloombergLP/bdldfp/operator_rshift-0c.adoc[_» more&period;&period;&period;_]#

Read, into the specified `object`, from the specified input `stream` an IEEE 32 bit decimal floating&hyphen;point value as described in the IEEE&hyphen;754 2008 standard (5&period;12 Details of conversions between floating point numbers and external character sequences) and return a reference providing modifiable access to `stream`&period; If `stream` contains a NaN value, it is unspecified if `object` will receive a quiet or signaling `Nan`&period; If `stream` is not valid on entry `stream&period;good() &equals;&equals; false`, this operation has no effect other than setting `stream&period;fail()` to `true`&period; If eof (end&hyphen;of&hyphen;file) is found before any non&hyphen;whitespace characters `stream&period;fail()` is set to `true` and `object` remains unchanged&period; If eof is detected after some characters have been read (and successfully interpreted as part of the textual representation of a floating&hyphen;point value as specified by IEEE&hyphen;754) then `stream&period;eof()` is set to true&period; If the first non&hyphen;whitespace character sequence is not a valid textual representation of a floating&hyphen;point value (e&period;g&period;, 12e or e12 or 1&ast;2) the `stream&period;fail()` is set to true and `object` will remain unchanged&period; If a real number value is represented by the character sequence but it is a large positive or negative value that cannot be stored into `object` then store the value of the macro `ERANGE` into `errno` and positive or negative infinity is stored into `object`, respectively&period; If a real number value is represented by the character sequence but it is a small positive or negative value that cannot be stored into `object` then store the value of the macro `ERANGE` into `errno` and positive or negative zero is stored into `object`, respectively&period; If a real number value is represented by the character sequence but it cannot be stored exactly into `object`, the value is rounded according to the current rounding direction (of the environment) and then stored into `object`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class CHARTYPE,
    class TRAITS&gt;
bsl::basic&lowbar;istream&lt;CHARTYPE, TRAITS&gt;&
xref:BloombergLP/bdldfp/operator_rshift-08.adoc[operator&gt;&gt;](
    bsl::basic&lowbar;istream&lt;CHARTYPE, TRAITS&gt;& stream,
    xref:BloombergLP/bdldfp/Decimal32.adoc[Decimal32]& object);
----

[.small]#xref:BloombergLP/bdldfp/operator_rshift-08.adoc[_» more&period;&period;&period;_]#

Read, into the specified `object`, from the specified input `stream` an IEEE 64 bit decimal floating&hyphen;point value as described in the IEEE&hyphen;754 2008 standard (5&period;12 Details of conversions between floating point numbers and external character sequences) and return a reference providing modifiable access to `stream`&period; If `stream` contains a Nan value, it is unspecified if `object` will receive a quiet or signaling `Nan`&period; If `stream` is not valid on entry `stream&period;good() &equals;&equals; false`, this operation has no effect other than setting `stream&period;fail()` to `true`&period; If eof (end&hyphen;of&hyphen;file) is found before any non&hyphen;whitespace characters `stream&period;fail()` is set to `true` and `object` remains unchanged&period; If eof is detected after some characters have been read (and successfully interpreted as part of the textual representation of a floating&hyphen;point value as specified by IEEE&hyphen;754) then `stream&period;eof()` is set to true&period; If the first non&hyphen;whitespace character sequence is not a valid textual representation of a floating&hyphen;point value (e&period;g&period;, 12e or e12 or 1&ast;2) the `stream&period;fail()` is set to true and `object` will remain unchanged&period; If a real number value is represented by the character sequence but it is a large positive or negative value that cannot be stored into `object` then store the value of the macro `ERANGE` into `errno` and positive or negative infinity is stored into `object`, respectively&period; If a real number value is represented by the character sequence but it is a small positive or negative value that cannot be stored into `object` then store the value of the macro `ERANGE` into `errno` and positive or negative zero is stored into `object`, respectively&period; If a real number value is represented by the character sequence but it cannot be stored exactly into `object`, the value is rounded according to the current rounding direction (of the environment) and then stored into `object`&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;
    class CHARTYPE,
    class TRAITS&gt;
bsl::basic&lowbar;istream&lt;CHARTYPE, TRAITS&gt;&
xref:BloombergLP/bdldfp/operator_rshift-0d.adoc[operator&gt;&gt;](
    bsl::basic&lowbar;istream&lt;CHARTYPE, TRAITS&gt;& stream,
    xref:BloombergLP/bdldfp/Decimal64.adoc[Decimal64]& object);
----

[.small]#xref:BloombergLP/bdldfp/operator_rshift-0d.adoc[_» more&period;&period;&period;_]#


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