13.5.3 Bit Ordering
The Bit_Order attribute specifies the interpretation
of the storage place attributes.
A bit ordering is a method of
interpreting the meaning of the storage place attributes.
(known in the vernacular as “big endian”) means that the
first bit of a storage element (bit 0) is the most significant bit (interpreting
the sequence of bits that represent a component as an unsigned integer
(known in the vernacular as “little endian”) means the opposite:
the first bit is the least significant.
For every specific
record subtype S, the following attribute is defined:
Denotes the bit ordering for
the type of S. The value of this attribute is of type System.Bit_Order.
Bit_Order may be specified for
specific record types via an attribute_definition_clause
the expression of such a clause shall be static.
If Word_Size = Storage_Unit, the default bit ordering
is implementation defined. If Word_Size > Storage_Unit, the default
bit ordering is the same as the ordering of storage elements in a word,
when interpreted as an integer.
The storage place attributes of a component of a
type are interpreted according to the bit ordering of the type.
recommended level of support for the nondefault bit ordering is:
- The implementation should support
the nondefault bit ordering in addition to the default bit ordering.
13 Bit_Order clauses make it possible to
that can be ported between machines having different bit ordering. They
do not guarantee transparent exchange of data between such machines.