This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TRDec status.

### 599. [dec.tr] Say "octets" instead of "bytes."

Section: 3.1 [dec.tr::trdec.types.encodings] Status: TRDec Submitter: Daniel Krugler Opened: 2006-05-28 Last modified: 2016-01-31

Priority: Not Prioritized

View all issues with TRDec status.

Discussion:

Daniel writes in a private email:

> - 3.1 'Decimal type encodings' says in its note:

>     "this implies that
>     sizeof(std::decimal::decimal32) == 4,
>     sizeof(std::decimal::decimal64) == 8, and
>     sizeof(std::decimal::decimal128) == 16."

> This is a wrong assertion, because the definition of 'byte' in 1.7 'The C+ + memory model' of ISO 14882 (2nd edition) does not specify that a byte must be necessarily 8 bits large, which would be necessary to compare with the specified bit sizes of the types decimal32, decimal64, and decimal128.

Proposed resolution:

Change 3.1 as follows:

> The three decimal encoding formats defined in IEEE-754R correspond to the three decimal floating types as follows:

> - decimal32 is a decimal32 number, which is encoded in four consecutive bytes octets (32 bits)
> - decimal64 is a decimal64 number, which is encoded in eight consecutive bytes octets (64 bits)
> - decimal128 is a decimal128 number, which is encoded in 16 consecutive bytes octets (128 bits)

> [Note: this implies that `sizeof(std::decimal::decimal32) == 4`, `sizeof(std::decimal::decimal64) == 8`, and `sizeof(std::decimal::decimal128) == 16`. --end note]