Двоичный код представляет собой форму записи информации в виде единиц и нулей. Такая система исчисления является позиционной с основанием 2. На сегодняшний день двоичный код (таблица, представленная немного ниже, содержит некоторые примеры записи чисел) используется во всех без исключения цифровых устройствах. Его популярность объясняется высокой надежность и простотой данной формы записи. Двоичная арифметика весьма проста, соответственно, ее легко реализовать и на аппаратном уровне. Цифровые электронные компоненты (или как их еще называют – логические) весьма надежны, так как они оперируют в работе всего двумя состояниями: логической единицы (есть ток) и логического нуля (нет тока). Тем самым они выгодно отличаются от аналоговых компонентов, работа которых основана на переходных процессах.

Как составляется двоичная форма записи?

Давайте разберемся, каким образом формируется такой ключ. Один разряд двоичного кода может содержать всего два состояния: ноль и единицу (0 и 1). При использовании двух разрядов появляется возможность записать четыре значения: 00, 01, 10, 11. Трехразрядная запись содержит восемь состояний: 000, 001 … 110, 111. В результате получаем, что длина двоичного кода зависит от числа разрядов. Это выражение можно записать с помощью следующей формулы: N =2m, где: m – это количество разрядов, а N – число комбинаций.

Виды двоичных кодов

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

  • беззнаковые;
  • прямые целыезнаковые коды;
  • знаковые обратные;
  • знаковые дополнительные;
  • код Грея;
  • код Грея-Экспресс.;
  • дробные коды.

Рассмотрим более детально каждый из них.

Беззнаковый двоичный код

Давайте разберемся, что же представляет собой такой вид записи. В целых беззнаковых кодах каждый разряд (двоичный) представляет степень цифры два. При этом наименьшее число, которое можно записать в такой форме, равно нулю, а максимальное можно представить следующей формулой: М=2 п -1. Эти два числа полностью определяют диапазон ключа, которым можно выразить такой двоичный код. Давайте рассмотрим возможности упомянутой формы записи. При использовании данного вида беззнакового ключа, состоящего из восьми разрядов, диапазон возможных чисел составит от 0 до 255. Шестнадцатиразрядный код будет иметь диапазон от 0 до 65535. В восьмиразрядных процессорах для хранения и записи таких чисел используют два сектора памяти, которые располагаются в соседних адресатах. Работу с такими ключами обеспечивают специальные команды.

Прямые целые знаковые коды

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

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

Знаковый обратный ключ

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

Знаковый дополнительный код двоичного числа

Данный вид записи не имеет перечисленных недостатков предыдущих ключей. Такие коды позволяют проводить непосредственное суммирование как положительных, так и отрицательных чисел. При этом не проводится анализ знакового разряда. Все это стало возможным благодаря тому факту, что дополнительные числа представляют собой естественное кольцо символов, а не искусственные образования, такие как прямые и обратные ключи. Более того, важным фактором является, то что произвести вычисления дополнений в двоичных кодах чрезвычайно просто. Для этого достаточно к обратному ключу добавить единицу. При использовании данного вида знакового кода, состоящего из восьми разрядов, диапазон возможных чисел составит от -128 до +127. Шестнадцатиразрядный ключ будет иметь диапазон от -32768 до +32767. В восьмиразрядных процессорах для хранения таких чисел также используют два соседних сектора.

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

Код Грея

Данная форма записи, по сути, является одношаговым ключом. То есть в процессе перехода от одного значения к другому меняется всего лишь один бит информации. При этом погрешность при считывании данных приводит к переходу от одного положения к другому с незначительным смещением по времени. Однако получение совершенно неверного результата углового положения при таком процессе полностью исключается. Достоинством такого кода является его способность зеркально отображать информацию. Например, инвертируя старшие биты, можно просто менять направление отсчета. Это происходит благодаря управляющему входу Complement. При этом выдаваемое значение может быть как возрастающим, так и спадающим при одном физическом направлении вращения оси. Так как информация, записанная в ключе Грея, имеет исключительно кодированный характер, который не несет реальных числовых данных, то перед дальнейшей работой требуется предварительно преобразовать его в обычную бинарную форму записи. Осуществляется это с помощью специального преобразователя – декодера Грей-Бинар. Данное устройство легко реализуется на элементарных логических элементах как аппаратным, так и программным способом.

Код Грея-Экспресс

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

Представление дробного числа в двоичном ключе с фиксированной запятой

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

Представление двоичного кода с плавающей запятой

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

Это интересно

Считается, что двоичное исчисление было изобретено в начале 18-го века математиком из Германии Готфридом Лейбницем. Однако, как недавно открыли ученые, задолго до этого аборигены полинезийского острова Мангареву использовали данный вид арифметики. Несмотря на то что колонизация практически полностью уничтожила оригинальные системы исчисления, ученые восстановили сложные двоичные и десятичные виды счета. Кроме того, ученый Когнитивист Нуньес утверждает, что кодирование двоичным кодом применялось в древнем Китае еще в 9-м веке до н. э. Другие древние цивилизации, например, индейцы майя, также использовали сложные комбинации десятичных и бинарных систем для отслеживания временных интервалов и астрономических явлений.

Двоичный код — это подача информации путем сочетания символов 0 или 1. Порою бывает очень сложно понять принцип кодирования информации в виде этих двух чисел, однако мы постараемся все подробно разъяснить.

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

Видя что-то впервые, мы зачастую задаемся логичным вопросом о том, как это работает. Любая новая информация воспринимается нами, как что-то сложное или созданное исключительно для разглядываний издали, однако для людей, желающих узнать подробнее о двоичном коде, открывается незамысловатая истина – бинарный код вовсе не сложный для понимания, как нам кажется. К примеру, английская буква T в двоичной системе приобретет такой вид – 01010100, E – 01000101 и буква X – 01011000. Исходя из этого, понимаем, что английское слово TEXT в виде двоичного кода будет выглядеть таким вот образом: 01010100 01000101 01011000 01010100. Компьютер понимает именно такое изложение символов для данного слова, ну а мы предпочитаем видеть его в изложении букв алфавита.

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

Перевод натурального числа десятичной системы счисления в двоичную систему.

Чтобы перевести числа из десятичной системы счисления в двоичную пользуются "алгоритмом замещения", состоящим из такой последовательности действий:

1. Выбираем нужное число и делим его на 2. Если результат деления получился с остатком, то число двоичного кода будет 1, если остатка нет – 0.

2. Откидывая остаток, если он есть, снова делим число, полученное в результате первого деления, на 2. Устанавливаем число двоичной системы в зависимости от наличия остатка.

3. Продолжаем делить, вычисляя число двоичной системы из остатка, до тех пор, пока не дойдем до числа, которое делить нельзя – 0.

4. В этот момент считается, что двоичный код готов.

Для примера переведем в двоичную систему число 7:

1. 7 : 2 = 3.5. Поскольку остаток есть, записываем первым числом двоичного кода 1.

2. 3 : 2 = 1.5. Повторяем процедуру с выбором числа кода между 1 и 0 в зависимости от остатка.

3. 1 : 2 = 0.5. Снова выбираем 1 по тому же принципу.

4. В результате получаем, переведенный из десятичной системы счисления в двоичную, код – 111.

Таким образом можно переводить бесконечное множество чисел. Теперь попробуем сделать наоборот – перевести число из двоичной в десятичную.

Перевод числа двоичной системы в десятичную.

Для этого нам нужно пронумеровать наше двоичное число 111 с конца, начиная нулем. Для 111 это 1^2 1^1 1^0. Исходя из этого, номер для числа послужит его степенем. Далее выполняем действия по формуле: (x * 2^y) + (x * 2^y) + (x * 2^y), где x – порядковое число двоичного кода, а y – степень этого числа. Подставляем наше двоичное число под эту формулу и считаем результат. Получаем: (1 * 2^2) + (1 * 2^1) + (1 * 2^0) = 4 + 2 + 1 = 7.

Немного из истории двоичной системы счисления.

Принято считать, что впервые двоичную систему предложил Готфрид Вильгельм Лейбниц, который считал систему полезной в сложных математических вычислениях и науке. Но по неким данным, до его предложения о двоичной системе счисления, в Китае появилась настенная надпись, которая расшифровывалась при использовании двоичного кода. На надписи были изображены длинные и короткие палочки. Предполагая, что длинная это 1, а короткая палочка — 0, есть доля вероятности, что в Китае идея двоичного кода существовала многим ранее его официального открытия. Расшифровка кода определила там только простое натуральное число, однако это факт, который им и остается.

Инки имели свою счётную систему кипу, которая физически представляла собой верёвочные сплетения и узелки. Генри Эртан обнаружил, что в узелках заложен некий код, более всего похожий на двоичную систему счисления. [1]

Примечания

См. также

Wikimedia Foundation . 2010 .

Смотреть что такое "Двоичный код" в других словарях:

двоичный код — Код, основание которого равно двум. [Сборник рекомендуемых терминов. Выпуск 94. Теория передачи информации. Академия наук СССР. Комитет технической терминологии. 1979 г.] Тематики теория передачи информации EN binary code … Справочник технического переводчика

двоичный код — dvejetainis kodas statusas T sritis automatika atitikmenys: angl. binary code vok. binärer Kode, m; Binärkode, m; dualer Kode, m; Dualkode, m rus. двоичный код, m pranc. code binaire, m … Automatikos terminų žodynas

двоичный код — Код, основание которого равно двум … Политехнический терминологический толковый словарь

двоичный код с исправлением ошибок — Двоичный код, избыточность которого обеспечивает автоматическое обнаружение и исправление ошибок некоторых типов в передаваемых данных. [Домарев В.В. Безопасность информационных технологий. Системный подход.] Тематики защита информации EN вinаry… … Справочник технического переводчика

двоичный код с обнаружением ошибок — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN binary error detecting code … Справочник технического переводчика

Двоичный код Голея — У этого термина существуют и другие значения, см. Код Голея. Двоичный код Голея один из двух тесно связанных друг с другом исправляющих ошибки линейных кодов: совершенный двоичный код Голея (англ. perfect binary Golay code) … … Википедия

арифметический двоичный код — обычный двоичный код — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы обычный двоичный код EN natural binary code … Справочник технического переводчика

натуральный двоичный код ИКМ — Код, при котором кодовые слова, соответствующие квантованным отсчетам сигнала электросвязи при ИКМ, расположенным в порядке возрастания амплитуд, представляют собой неотрицательные целые двоичные числа, взятые в том же порядке. [ГОСТ 22670 77]… … Справочник технического переводчика

сбалансированный двоичный код — код без преобладания — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом Синонимы код без преобладания EN zero disparity code … Справочник технического переводчика

симметричный двоичный код ИКМ — Код, при котором полярность квантованного отсчета сигнала электросвязи при ИКМ выражается одним символом цифрового сигнала электросвязи, а остальные символы выражают двоичное число, представляющее абсолютную величину отсчета этого сигнала.… … Справочник технического переводчика