### Dear Readers,

In computing, **bit numbering** is the convention used to identify the bit positions in a binary number.

Bit significance and indexing[edit]

The binary representation of decimal 149, with the LSb highlighted. The LSb represents a value of 1.

The unsigned binary representation of decimal 149, with the MSb highlighted. The MSb represents a value of 128.

In computing, the **least significant bit** (**LSb**) is the bit position in a binary integer representing the binary 1s place of the integer. Similarly, the **most significant bit** (**MSb**) represents the highest-order place of the binary integer. The LSb is sometimes referred to as the *low-order bit* or *right-most bit*, due to the convention in positional notation of writing less significant digits further to the right. The MSb is similarly referred to as the *high-order bit* or *left-most bit*. In both cases, the LSb and MSb correlate directly to the least significant digit and most significant digit of a decimal integer.

Bit indexing correlates to the positional notation of the value in base 2. For this reason, bit index is not affected by how the value is stored on the device, such as the value’s byte order. Rather, it is a property of the numeric value in binary itself. This is often utilized in programming via bit shifting: A value of 1 << *n* corresponds to the *n*^{th} bit of a binary integer (with a value of 2^{n}).

**Least significant bit in digital steganography**[edit]

In digital steganography, sensitive messages may be concealed by manipulating and storing information in the least significant bits of an image or a sound file. The user may later recover this information by extracting the least significant bits of the manipulated pixels to recover the original message. This allows the storage or transfer of digital information to remain concealed.

Unsigned integer example[edit]

This table illustrates an example of decimal value of 149 and the location of LSb. In this particular example, the position of unit value (decimal 1 or 0) is located in bit position 0 (n = 0). MSb stands for *most significant bit*, while LSb stands for *least significant bit*.

Binary (Decimal: 149) |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |

Bit weight for given bit position n ( 2^{n} ) |
2^{7} |
2^{6} |
2^{5} |
2^{4} |
2^{3} |
2^{2} |
2^{1} |
2^{0} |

Bit position label |
MSb | LSb |

Most- vs least-significant bit first[edit]

The expressions *most significant bit first* and *least significant bit at last* are indications on the ordering of the sequence of the bits in the bytes sent over a wire in a serial transmission protocol or in a stream (e.g. an audio stream).

*Most significant bit first* means that the most significant bit will arrive first: hence e.g. the hexadecimal number 0x12, 00010010 in binary representation, will arrive as the sequence 0 0 0 1 0 0 1 0 .

*Least significant bit first* means that the least significant bit will arrive first: hence e.g. the same hexadecimal number 0x12, again 00010010 in binary representation, will arrive as the (reversed) sequence 0 1 0 0 1 0 0 0.

**LSb 0 bit numbering[edit]**

LSb 0: A container for 8-bit binary number with the highlighted least significant bit assigned the bit number 0

When the bit numbering starts at zero for the least significant bit (LSb) the numbering scheme is called *LSb 0*.^{[1]} This bit numbering method has the advantage that for any unsigned number the value of the number can be calculated by using exponentiation with the bit number and a base of 2.^{[2]} The value of an unsigned binary integer is therefore

where *b** _{i}* denotes the value of the bit with number

*i*, and

*N*denotes the number of bits in total.

**MSb 0 bit numbering[edit]**

MSb 0: A container for 8-bit binary number with the highlighted most significant bit assigned the bit number 0

When the bit numbering starts at zero for the most significant bit (MSb) the numbering scheme is called *MSb 0*.

The value of an unsigned binary integer is therefore

**Other[edit]**

ALGOL 68‘s **elem** operator is effectively “MSb 1 bit numbering” as the bits are numbered from left to right, with the first bit (bits **elem** 1) being the “most significant bit”, and the expression (bits **elem** bits width) giving the “least significant bit”. Similarly, when **bits** are coerced (typecast) to an array of Boolean ([ ]**bool** bits), the first element of this array (bits[**lwb** bits]) is again the “most significant bit”.

For MSb 1 numbering, the value of an unsigned binary integer is

PL/I numbers *BIT* strings starting with 1 for the leftmost bit.

The Fortran *BTEST* function uses LSb 0 numbering.