Русская Википедия:Старший бит

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Старший бит (Шаблон:Lang-en, MSb) или наиболее значимый бит (Шаблон:Lang-en) — в информатике это позиция бита в двоичном числе, имеющая наибольшее значение. Противоположным по значению является младший бит (Шаблон:Lang-en, LSb) или наименее значимый бит (Шаблон:Lang-en). Cтарший и младший бит, как правило, рассматриваются в пределах одного байта, но в, общем случае, длина битовой последовательности может быть любой.

Описание

Файл:Most significant bit.svg
Двоичное беззнаковое двоичное представление десятичного числа 149 с выделенным старшим битом (MSb); в 8-битном двоичном числе представляет значение 128 десятичного числа. Младший бит (LSb) являет собой значение 1.

MSb иногда упоминается как бит старшего разряда или самый левый бит из-за соглашения в позиционной нотации записи более значащих цифр слева.

MSb также может соответствовать знаковому биту в двоичного числа со Шаблон:Iw. В обратном коде и дополнительном коде «1» обозначает отрицательное число, а «0» обозначает положительное число.

Обычно каждому биту присваивается номер позиции в диапазоне от нуля до N-1, где N это количество битов в используемом двоичном представлении. Обычно это просто показатель степени для соответствующего веса бита в двоичной системе счисления (например, в 231..20). Хотя некоторые производители процессоров назначают битовые числа противоположным образом (что не совпадает с разным порядком байтов), MSb однозначно остаётся наиболее значимым битом. Это может быть одной из причин, по которой термин MSb часто используется вместо номера бита, хотя основная причина, вероятно, состоит в том, что разные представления чисел используют разное количество бит.

MSB также может обозначать «самый значимый байт».[1] Смысл параллелен вышеупомянутому: это байт (или октет) в той позиции многобайтового числа, который имеет наибольшее потенциальное значение. Чтобы избежать этой двусмысленности, часто используются менее сокращенные термины «MSbit» или «MSbyte».[2][3][4]

Младший значащий бит в цифровой стеганографии

В цифровой стеганографии конфиденциальные сообщения могут быть скрыты путем манипулирования и сохранения информации в младших битах изображения или звукового файла. Позже пользователь может восстановить эту информацию, извлекая младшие значащие биты обработанных пикселей, чтобы восстановить исходное сообщение. Это позволяет сохранять или передавать цифровую информацию скрытой.

Пример целого числа без знака

Эта таблица иллюстрирует пример десятичного значения 149 и расположение старшего и младшего битов. MSb означает старший бит, а LSb означает младший бит.

Двоиное представление <math>x</math> (Десятичное: 149) 1 0 0 1 0 1 0 1
Значение бита в данной позиции n ( 2n ) 27 26 25 24 23 22 21 20
Обозначение позиции бита MSb LSb
Обозначение 2 битовой последовательности <math>msb_2(x)</math> <math>lsb_2(x)</math>
Обозначение 3 битовой последовательности <math>msb_3(x)</math> <math>lsb_3(x)</math>

Старшие и младшие битовые последовательности

В теории информации старший и младший биты являются частными случаями старшей и младшей битовых последовательностей для конечного множества битовых последовательностей <math>\{0,1\}^n</math> соответсвенно.

Элементы битовых множеств вида <math>\{0,1\}^n</math> также называют битовыми строками.

Например, запись конечного множества битовых строк 2 размерности <math>\{0,1\}^2</math> означает, что это множество состоит из элементов:

<math>\{0,1\}^2 = \{00,01,10,11\}</math>

Число элементов множества - 4, что обозначается как <math>|\{0,1\}^2|=4</math>.

Пусть дано конечное множество битовых строк 8 размерности т.е. 1 байт:

<math>\{0,1\}^8 = \{00000000, 00000001, ..., 11111111\}</math>

Число элементов множества - 256, что обозначается как: <math>|\{0,1\}^8|=256</math>.

Для анализа битовых строк задаются функции:

<math>msb_L(x)</math> возвращает <math>L</math> старших бит последовательности;
<math>lsb_L(x)</math> возвращает <math>L</math> младших бит последовательности;

Где <math>x</math> - битовая строка

Тогда:

<math>A_1=\{ \forall x \in \{0,1\}^8 : msb_1(x) = 1 \}</math>

означает, что множество <math>A_1</math> содержит все возможные варианты байта, когда 1 старший бит равен 1 (подчеркнут):

<math>A_1 = \{\underline{1}0000000, \underline{1}0000001, ..., \underline{1}1111111\}</math>

Число элементов множества - 128, что обозначается как: <math>|A_1|=128</math>.

При этом, индекс <math>L</math> функции указывает сколько именно старших бит последовательности используется для сравнения. В этом случае запись:

<math>A_2=\{ \forall x \in \{0,1\}^8 : msb_2(x) = 11 \}</math>

означает что множество <math>A_2</math> содержит все возможные варианты байта, когда 2 старших бита равны 11 (подчеркнуты):

<math>A_2 = \{\underline{11}000000, \underline{11}000001, ..., \underline{11}111111\}</math>

Число элементов множества - 64, что обозначается как: <math>|A_2|=64</math>.

Для анализа младших бит аналогичным образом используется функция <math>lsb_L(x)</math>:

<math>A_3=\{ \forall x \in \{0,1\}^8 : lsb_3(x) = 101 \}</math>

означает что множество <math>A_3</math> содержит все возможные варианты байта, когда 3 младших бита равны 101 (подчеркнуты):

<math>A_3 = \{00000\underline{101}, 00001\underline{101}, ..., 11111\underline{101}\}</math>

Всего таких последовательностей 32, что обозначается как: <math>|A_3|=32</math>.

В общем случае множество битовых строк содержит <math>2^n</math> элементов: <math>|\{0,1\}^n| = 2^n</math>

Подмножество, которое получается после выборки битовых строк, содержащих <math>L</math> старших или младших бит, уменьшает размер исходного множества в <math>2^L</math> раз.

Обобщение понятия старших и младших бит до старших и младших битовых последовательностей заданной длины <math>L</math> позволяет анализировать конечные битовые строки произвольной размерности <math>n</math>.

Функции <math>msb_L(x)</math> и <math>lsb_L(x)</math> используются для анализа дискретной вероятности.

См. также

Примечания

Шаблон:Примечания

Шаблон:Computer-sci-stub