Contents Index Search Related Documents Previous Next
13.5.3 Bit Ordering
1
The Bit_Order attribute specifies the interpretation
of the storage place attributes.
Static Semantics
2
A bit ordering is a method
of interpreting the meaning of the storage place attributes.
High_Order_First
(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
value).
Low_Order_First
(known in the vernacular as “little endian”) means the opposite:
the first bit is the least significant.
3
For every specific
record subtype S, the following attribute is defined:
4
- S'Bit_Order
-
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.
5
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.
6
The storage place attributes of a component of
a type are interpreted according to the bit ordering of the type.
Implementation Advice
7
The
recommended level of support for the nondefault bit ordering is:
8/2
- The implementation should support
the nondefault bit ordering in addition to the default bit ordering.
9/2
14 Bit_Order clauses make
it possible to write record_representation_clauses
that can be ported between machines having different bit ordering. They
do not guarantee transparent exchange of data between such machines.
Contents Index Search Related Documents Previous Next Legal