Ada Reference ManualLegal Information
Table of Contents   Index   References   Search   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
NOTES
9/2
13  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. 

Table of Contents   Index   References   Search   Previous   Next 
Ada-Europe Sponsored by Ada-Europe