Вы здесь

Перевод информации в двоичный код – что это такое, его виды, расшифровка

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

Оглавление:

  1. Что такое двоичный код?
  2. Разрядность двоичного кода
  3. Расшифровка двоичного кода
  4. Виды двоичных кодов

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

Что такое двоичный код?

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

  • 1 — высокое напряжение.
  • 0 — низкое.

Или же для единиц — наличие напряжения, а для нулей — отсутствие.

Основой двоичной системы исчисления являются двоичные коды. Что такое двоичный код?

Процесс, когда данные преобразуются в нули и единицы, называют «двоичная конверсия», а окончательное их обозначение — «двоичный код».

Разрядность двоичного кода

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

Что такое разрядность двоичного кода? Если смотреть с точки зрения арифметики, то под разрядностью понимается место, которое занимает цифра при записи чисел. Тогда под разрядностью двоичного кода подразумевается количество мест знаков (разрядов) или количество битов, которые заранее отведены для того, чтобы записать число.

Расшифровка двоичного кода

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

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

После 0 и 1 следуют такие двоичные числа:

  • 10 (то есть, 1,0).
  • 11 (1,1).
  • 100 (1,0,0).

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

Видео о переводе чисел в двоичный код

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

Например, чтобы закодировать слово «мама» выбирается следующий код:

  • М — 00.
  • А — 1.
  • Ы — 01.
  • Л — 0.
  • У — 10.

Пробел — 11.

Закодированные буквы соединятся в одну битовую строчку и будут переданы по сети в таком виде:

МАМА МЫЛА ЛАМУ → 0010011100010111010010

После того как эта строка будет доставлена к пункту назначения, следует решить проблему восстановления исходного сообщения. Так, получив сообщение «001001», его раскодирование можно осуществить несколькими способами. К примеру, предположив, что оно состоит только из букв Л (код 0) и А (код 1), получится:

ЛЛАЛЛАААЛЛЛАЛАААЛАЛЛАЛ

Это значит, что вышеприведённый код не декодируется однозначно. Однозначно декодируемые коды — это такие коды, в которых любые кодовые сообщения расшифровываются только одним способом.

Равномерные коды

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

Например, если закодировать вышеприведённую фразу с помощью такого кода:

  • М — 000.
  • А — 001.
  • Ы — 010.
  • Л — 011.
  • Пробел — 101, то получится следующее:

МАМА МЫЛА ЛАМУ → 000001000001101000010011001101011001000100

Это сообщение имеет длину 42 бита. Несмотря на то что оно длиннее, чем первое, состоящее всего из 22 бит, его значительно легче разобрать на отдельные слова для раскодирования:

000 001 000 001 101 000 010 011 001 101 011 001 000 100

М  А  М  А  _  М  Ы  Л  А  _  Л  А  М  У 

Хотя такой равномерный код нельзя назвать экономичным, зато его можно однозначно декодировать.

Видео о переводе букв в двоичный код

Неравномерные коды

Неравномерный двоичный код — что это такое? Его иногда применяют для сокращения длины сообщений. В неравномерном коде кодовое слово, соответствующее определённому символу в алфавите, может отличаться по длине от других слов.

Например, если использовать для кодирования «Мама мыла ламу» такой код:

  • М — 01.
  • А — 00.
  • Ы — 1011
  • Л — 100.
  • У — 1010.
  • Пробел — 11, то получится:

МАМА МЫЛА ЛАМУ → 0100010011011011100001110000011010

Данное сообщение состоит из 34 бит. Эту битовую цепочку можно декодировать однозначно, поскольку в первой букве — М, имеющей код 01, код является уникальным, ведь другие кодовые слова не начинаются с 01. Таким же образом можно определить вторую букву — А. Свойство, когда кодовые слова не совпадают с началом других кодовых слов, называют условием Фано, а коды, декодируемые с помощью свойства Фано, называются префиксными.

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

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

Для представления целых чисел существуют следующие виды двоичных кодов:

  • Знаковые.
  • Беззнаковые.

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

Беззнаковые коды

В целых беззнаковых двоичных кодах все двоичные разряды представлены в степени цифры 2:

Значение минимально возможного числа равняется нулю, а максимальное определяется по формуле:

С помощью этих двух чисел определяется диапазон чисел, представленных в виде двоичного кода.

  • Если представлено восьмиразрядное беззнаковое целое число, то диапазон чисел записывается с помощью кода: 0…255.
  • Если представлен шестнадцатиразрядный код — 0…65535.

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

Знаковые коды

В прямых целых знаковых кодах представление знака числа осуществляется с помощью старшего разряда в слове. Для прямого знакового кода для обозначения знака «+» используется ноль, а знака «-» — единица. При введении знакового разряда произойдёт смещение диапазона чисел в сторону отрицательных значений.

  • Двоичное восьмиразрядное знаковое целое число записывается с помощью такого диапазона: -127…+127.
  • Шестнадцатиразрядный код будет записан в диапазоне: -32767…+32767.

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

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

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

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

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



Не нашли что искали? Воспользуйтесь поиском:

Возможно вам будет интересны материалы наших партнёров:

Добавить комментарий