Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Младший бит [ править ]

Двоичное представление десятичного 149, с LSB подсвечивается. MSB в 8-битном двоичном числе представляет собой десятичное значение 128. LSB представляет собой значение 1.

В вычислении , то младший значащий бит ( LSB ) является бит положение в двоичном целое число дает значение единицы, то есть определить , является ли число четным или нечетным. LSB иногда называют битом младшего разряда или крайним правым битом из-за принятого в позиционном обозначении правила записи менее значимых цифр дальше вправо. Она аналогична значащая цифра в виде десятичного целого числа, которое является цифрой в них (самом правом) положении. [1]

Обычно каждому биту присваивается номер позиции в диапазоне от нуля до N-1, где N - количество битов в используемом двоичном представлении. Обычно номер бита - это просто показатель степени для соответствующего веса бита в базе 2 (например, в 2 31 ..2 0 ). Некоторые производители ЦП присвоили номера битов противоположным образом (что не то же самое, что и другой порядок следования байтов ). В любом случае, самый младший бит остается однозначным как единичный бит.

Младшие значащие биты (множественное число) - это биты числа, ближайшего к младшему разряду и включающего его. Младшие значащие биты обладают полезным свойством быстро изменяться, если число изменяется даже незначительно. Например, если 1 (двоичный 00000001) добавить к 3 (двоичный 00000011), результатом будет 4 (двоичный 00000100), а три младших бита изменятся (с 011 на 100). Напротив, три старших бита (MSB) остаются неизменными (от 000 до 000). Из-за этой изменчивости наименее значимые биты часто используются в генераторах псевдослучайных чисел , стеганографических инструментах, хэш-функциях и контрольных суммах .

Наименьший бит в цифровой стеганографии [ править ]

Диаграмма, показывающая, как манипулирование наименее значимыми битами цвета может иметь очень тонкое и, как правило, незаметное влияние на цвет. На этой диаграмме зеленый цвет представлен своим значением RGB как в десятичном, так и в двоичном формате. Красный прямоугольник, окружающий последние два бита, показывает наименее значимые биты, измененные в двоичном представлении.

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

Наименьший байт [ править ]

LSB также может обозначать наименее значимый байт . [2] Значение аналогично приведенному выше: это байт (или октет ) в той позиции многобайтового числа, которая имеет наименьшее потенциальное значение.

Старший бит [ править ]

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

MSB может также соответствовать знаковому биту в виде подписанного двоичного числа . В обозначении дополнения до единицы и двух «1» означает отрицательное число, а «0» означает положительное число.

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

В более широком смысле, наиболее значимые биты (множественное число) - это биты, наиболее близкие к MSB и включающие его.

Двоичное представление десятичного числа 149 без знака с выделенным старшим битом. MSB в 8-битном двоичном числе представляет собой десятичное значение 128. LSB представляет собой значение 1.

Старший байт [ править ]

MSB также может означать « старший байт ». [3] Значение аналогично приведенному выше: именно байт (или октет ) в той позиции многобайтового числа имеет наибольшее потенциальное значение.

Чтобы избежать этой двусмысленности, часто используются менее сокращенные термины « MSbit » или « MSbyte ». [4] [5] [6]

Пример беззнакового целого [ править ]

Эта таблица иллюстрирует пример десятичного значения 149 и расположение LSB. В этом конкретном примере позиция значения единицы (десятичная 1 или 0) находится в позиции бита 0 (n = 0). MSB обозначает наиболее значимый бит, а LSB обозначает наименьший значимый бит.

Позиция LSB не зависит от того, как передается позиция бита (некоторые системы сначала передают MSB, а другие сначала передают LSB), что больше относится к теме Endianness .

Сначала старший / младший бит [ править ]

Выражения « старший значащий бит первым» и « младший значащий бит первым» указывают на порядок последовательности битов в байтах, отправляемых по сети в протоколе передачи или в потоке (например, аудиопотоке).

Большинство значащего бита означает , что самый значимый бит будет прибывающим первым: следовательно , например, шестнадцатеричное число 0x12, 00010010в двоичном представлении, поступят в виде последовательности 0 0 0 1 0 0 1 0.

Первый младший бит означает, что младший бит прибудет первым: следовательно, например, то же шестнадцатеричное число 0x12, опять же 00010010в двоичном представлении, прибудет как (обратная) последовательность 0 1 0 0 1 0 0 0.

Нумерация битов LSB 0 [ править ]

LSB 0: контейнер для 8-битного двоичного числа с выделенным младшим значащим битом, которому назначен бит номер 0.

Когда нумерация битов начинается с нуля для младшего значащего бита (LSB), схема нумерации называется "LSB 0". [7] Этот метод битовой нумерации имеет то преимущество, что для любого беззнакового числа значение числа может быть вычислено с использованием возведения в степень с битовым номером и основанием 2. Таким образом, значение двоичного целого числа без знака равно

где b i обозначает значение бита с номером i , а N обозначает общее количество битов.

Нумерация битов MSB 0 [ править ]

MSB 0: контейнер для 8-битного двоичного числа с выделенным старшим значащим битом, которому назначен бит номер 0.

Точно так же, когда нумерация битов начинается с нуля для самого старшего бита (MSB), схема нумерации называется «MSB 0».

Таким образом, значение двоичного целого числа без знака равно

Другое [ править ]

Algol 68 «сек эля оператор эффективен„старший бит 1 битой нумерация“ , как биты пронумерованы слева направо, причем первый бит (биты Эль 1) быть„самым старшим бит“, и выражение (биты эль биты ширина) давая «младший значащий бит». Точно так же, когда биты приводятся (приведение типов) к массиву логических значений ([] bool bits), первый элемент этого массива (биты [ lwb биты]) снова является «наиболее значимым битом».

Для нумерации MSB 1 значение двоичного целого числа без знака равно

PL / I нумерует BIT- строки, начиная с 1 для крайнего левого бита.

Функция Fortran BTEST использует нумерацию LSB 0.

Использование [ править ]

Процессоры с прямым порядком байтов обычно используют нумерацию битов "LSB 0", однако оба соглашения о нумерации битов можно увидеть в машинах с прямым порядком байтов . Некоторые архитектуры, такие как SPARC и Motorola 68000, используют нумерацию битов «LSB 0», в то время как S / 390 , PowerPC и PA-RISC используют «MSB 0». [8]

Рекомендуемый стиль для документов запроса комментариев (RfC) - это нумерация битов "MSB 0". [9] [10]

Нумерация битов обычно прозрачна для программного обеспечения , но некоторые языки программирования, такие как Ada, и языки описания оборудования, такие как VHDL и verilog, позволяют указать соответствующий порядок битов для представления типа данных. [11]

См. Также [ править ]

  • ARINC 429
  • Двоичная система счисления
  • Знаковые представления чисел
  • Два дополнения
  • Порядок байтов
  • Двоичный логарифм
  • Единица на последнем месте (ULP)
  • Найти первый набор
  • MAC-адрес: нотация с инверсией битов

Ссылки [ править ]

  1. ^ «Порядок битов форматов IBM SNA противоположен соглашению Intel» . Microsoft . 2014-02-23.
  2. ^ Buczynski, Дон (2002-09-05). «Учебник MSB / LSB» .[ самостоятельно опубликованный источник? ]
  3. Роуз, Маргарет (сентябрь 2005 г.). «старший бит или байт» . TechTarget .
  4. ^ II, Патрик Дж. Суини (2010-03-11). RFID для чайников . Джон Вили и сыновья. ISBN 9781118054475.
  5. ^ "Формат растрового изображения амулета" . web.mit.edu . Проверено 25 февраля 2018 .
  6. ^ «Память MAYHEM! Память, порядок байтов и выравнивание» . www.cs.umd.edu . Проверено 25 февраля 2018 .
  7. ^ Лэнгдон, Глен Г. (1982). Компьютерный дизайн . Computeach Press Inc. стр. 52 . ISBN 0-9607864-0-6.
  8. Дэвид В. Джеймс (июнь 1990 г.). «Мультиплексные автобусы: войны с порядком байтов продолжаются». IEEE Micro . 10 (3): 9–21. DOI : 10.1109 / 40.56322 . ISSN 0272-1732 . S2CID 24291134 . их первые биты и полубайты поступали от микросхем ALU , которые отображают ноль (0) в младший бит. (...) некоторые (в противном случае) конструкторы с прямым порядком байтов настаивают на использовании нотации с прямым порядком байтов для описания битов и нотации с прямым порядком байтов для описания байтов. (...) Обратите внимание, что IBM (на S / 360 и 370 ) и Hewlett-Packard (на PA-RISC   процессор) последовательно сопоставляют ноль с MSB
  9. Скотт, Грегор (июнь 1998 г.). «RFC 2360 - Руководство для разработчиков Интернет-стандартов» . Инженерная группа Интернета (IETF). п. 11 . Проверено 14 февраля 2010 . Предпочтительная форма для диаграмм пакетов - это последовательность длинных слов в сетевом порядке байтов, где каждое слово горизонтально на странице, а нумерация битов вверху.
  10. ^ «RFC 1166 - ИНТЕРНЕТ-НОМЕРА» . Инженерная группа Интернета (IETF). Июль 1990 г. с. 1 . Проверено 11 июня 2014 . Всякий раз, когда октет представляет числовую величину, крайний левый бит на диаграмме является старшим или наиболее значимым битом.
  11. ^ Норман Х. Коэн (январь 1994). «Условия представления записей, не зависящие от порядка байтов» (PDF) . Письма Ады . ACM SIGAda. XIV (1): 27–29. DOI : 10.1145 / 181492.181493 . ISSN 1094-3641 . S2CID 31612852 . Проверено 20 декабря 2008 .   

Внешние ссылки [ править ]

  • Битовые числа
  • Нумерация бит для разных процессоров:
    • Motorola 68000 (разделы «Битовая манипуляция» и «Обратная битовая нумерация»)
    • IBM Cell Broadband Processors («Порядок байтов и нумерация битов»)