В вычислительной технике нумерация бит — это соглашение, используемое для обозначения позиций бит в двоичном числе .
В вычислениях младший значащий бит ( LSb ) — это позиция бита в двоичном целом числе , представляющая двоичную единицу целого числа. Аналогично, старший значащий бит ( MSb ) представляет наивысший разряд двоичного целого числа. LSb иногда называют младшим битом или самым правым битом из-за соглашения в позиционной нотации о записи младших цифр правее. MSb также называют старшим битом или самым левым битом . В обоих случаях LSb и MSb напрямую соотносятся с младшей и старшей цифрой десятичного целого числа .
Индексация битов коррелирует с позиционной записью значения в двоичной системе счисления. По этой причине индекс битов не зависит от того, как значение хранится на устройстве, например, от порядка байтов значения . Скорее, это свойство числового значения в двоичном формате. Это часто используется в программировании с помощью сдвига битов : значение соответствует n -му биту двоичного целого числа (со значением ).1 << n
2n
В цифровой стеганографии конфиденциальные сообщения могут быть скрыты путем манипулирования и хранения информации в наименее значимых битах изображения или звукового файла. Пользователь может позже восстановить эту информацию, извлекая наименее значимые биты из обработанных пикселей, чтобы восстановить исходное сообщение. Это позволяет хранить или передавать цифровую информацию, чтобы она оставалась скрытой.
Диаграмма, показывающая, как манипулирование наименее значимыми битами цвета может иметь очень тонкое и, как правило, незаметное влияние на цвет. На этой диаграмме зеленый цвет представлен своим значением RGB , как в десятичном, так и в двоичном формате. Красный прямоугольник, окружающий последние два бита, иллюстрирует наименее значимые биты, измененные в двоичном представлении.
В этой таблице показан пример десятичного значения 149 и местоположение LSb. В этом конкретном примере позиция значения единицы (десятичная 1 или 0) находится в позиции бита 0 (n = 0). MSb обозначает старший значащий бит , а LSb обозначает младший значащий бит .
В этой таблице показан пример 8-битного десятичного значения со знаком, использующего метод дополнения до двух . Самый старший бит MSb имеет отрицательный вес в целых числах со знаком, в данном случае -2 7 = -128. Остальные биты имеют положительные веса. Самый младший бит (lsb ) имеет вес 2 0 =1. В данном случае знаковое значение равно -128+2 = -126.
Выражения «старший бит первый» и «младший бит последний» указывают на порядок последовательности бит в байтах, передаваемых по проводу в последовательном протоколе передачи или в потоке (например, аудиопотоке).
«Самый значимый бит первым» означает, что самый значимый бит поступит первым: следовательно, например, шестнадцатеричное число 0x12
в 00010010
двоичном представлении поступит как последовательность 0 0 0 1 0 0 1 0
.
Наименее значимый бит первым означает, что наименее значимый бит прибудет первым: следовательно, например, то же шестнадцатеричное число 0x12
, снова 00010010
в двоичном представлении, прибудет в виде (обратной) последовательности 0 1 0 0 1 0 0 0
.
Когда нумерация бит начинается с нуля для младшего бита (LSb), схема нумерации называется LSb 0 . [1] Этот метод нумерации бит имеет то преимущество, что для любого беззнакового числа значение числа может быть вычислено с помощью возведения в степень с номером бита и основанием 2. [2] Таким образом, значение беззнакового двоичного целого числа равно
где b i обозначает значение бита с номером i , а N обозначает общее количество бит.
Если нумерация бит начинается с нуля для самого старшего бита (MSb), то схема нумерации называется MSb 0 .
Следовательно, значение беззнакового двоичного целого числа равно
LSb числа можно вычислить со сложностью по формуле , где означает побитовую операцию И , а означает побитовую операцию НЕ над .
Для нумерации MSb 1 значение беззнакового двоичного целого числа равно
PL/I нумерует строки BIT , начиная с 1 для самого левого бита.
Функция Fortran BTEST использует нумерацию LSb 0.