The following diagrams show the logical bit and byte numbering model employed by the byte/bit manipulation functions described in these sections.
The model is big endian or little endian independent. The numbering system used for numeric data types is consistent with that used for byte strings. This simplifies the development of appropriate bit masks.
Users of the byte/bit manipulation functions must visualize the numeric and byte data types as shown when contemplating what masks (bit_mask_arg) need to be applied to the target data (target_arg).