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. Note that 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 should mentally visualize the numeric and byte data types as shown below when contemplating what masks (bit_mask_arg) need to be applied to the target data (target_arg).