двоичный код троичный код
Троичный код
Троичный код — это способ представления данных в виде комбинации трёх знаков, обычно обозначаемых цифрами 0, 1 и 2.
Троичный код может быть непозиционным и позиционным.
Из комбинаторики известно, что, в случае непозиционного кодирования, количество комбинаций (кодов) является количеством сочетаний с повторениями из по
и равно биномиальному коэффициенту:
, [возможных состояний (кодов)], т.е.
, [возможных состояний (кодов)], где
— количество троичных разрядов (троров, тритов).
Например, в непозиционной системе кодирования, в одном 3-х тритном коде (n=3) количество возможных состояний (кодов) равно:
, [возможных состояний (кодов)].
В случае позиционного кодирования, число комбинаций (кодов) n-разрядного троичного кода равно числу размещений с повторениями:
, где
— число кодов,
— число разрядов троичного кода.
При увеличении разрядности позиционного троичного кода на 1, количество различных комбинаций в позиционном троичном коде утраивается.
Троичные коды являются комбинациями трёх элементов и не являются троичной системой счисления, но используются в том или ином варианте троичных систем счисления как основа. При этом они могут использоваться для кодирования чисел в системах счисления с любым основанием. Однако, для системы счисления с основанием два (то есть, для двоичной) они избыточны и могут быть задействованы лишь частично.
При кодировании алфавитно-цифровых символов (знаков) троичному коду не приписываются весовые коэффициенты, как это делается в системах счисления, в которых троичный код используется для представления чисел, а используется только порядковый номер кода из множества размещений с повторениями.
Преобразование к троичным кодам
Основы передачи дискретных сообщений _ лекция 5
Линейные коды
Скорость, которая необходима для передачи сигналов ИКМ, требует специальных мер для передачи сигналов даже на небольшие расстояния. Величина расстояния, на котором возможна передача сигналов, зависит от требуемой скорости передачи. Проблемы ИКМ заключаются в широком спектре частот, которые требуются для передачи и восстановления прямоугольного импульса. Этот спектр, порождаемый резкими передними и задними фронтами, может привести к возникновению помех в соседних линиях и появлению в них наведенной информации, что нарушит ее конфиденциальность. Особенно ухудшает ситуацию передача однополярных прямоугольных импульсов. Наличие постоянной составляющей и асимметричность порождают искажение самих импульсов и приводит к влиянию на соседние цепи. Поэтому для передачи цифровых сигналов по линии применяются специальные коды (линейные коды).
Биполярные коды
Для устранения постоянной составляющей применяются биполярные коды. Их симметричность аналогична двуполярному аналоговому сигналу синусоидальной формы, хотя резкие переходы заднего и переднего фронтов все же остаются. Однако для таких кодов резко снижается затухание линии и, как следствие, возрастает дальность передачи.
В случае биполярного преобразования (рис. 1.30) логическая единица передается импульсами с чередующейся полярностью (код ЧПИ — чередующаяся полярность импульсов). В иностранной литературе этот код называется AMI (Alternating Mark Inversion). При этом каждая последующая единица передается полярностью, противоположной предыдущей единице. В результате энергия, накопившаяся от положительного импульса, компенсируется энергией отрицательного. Логическому нулю соответствует отсутствие импульса.
Основным недостатком такого линейного кода является то, что число единиц в сигнале зависит от их числа в исходной комбинации. Для того, чтобы синхронизовать генераторы, находящиеся на разных станциях, необходимо на приемном конце из поступающих импульсов выделять передние фронты и сравнивать моменты их поступления с аналогичными фронтами местного генератора. При длинной последовательности нулей в исходном сигнале (допускается не более 14 нулей) отсутствие передних фронтов на приемном конце может привести к рассинхронизации ге-нераторов, что в свою очередь приведет к появлению ошибок в информации. Поэтому для биполярного кода применяется алгоритм, позволяющий увеличить плотность единиц.
Алгоритм заключается в том, что, если передано N нулей подряд, то на передающем конце вставляется единица. Чтобы на приемном конце при декодировании не воспринималась лишняя единица, на приемный конец передается сигнал о вставке. Этот сигнал состоит в нарушении полярности и позволяет исключить добавленную единицу.
Условия нарушения полярности требуют, чтобы при замене последовательности из нулей на нарушающуюся комбинацию число переданных единиц с правильным чередованием было нечетным. Если оно четное, то в подставляемую комбинацию добавляется одна единица без нарушения полярности и далее 0, а потом происходит нарушение полярности.
Таким образом, соблюдаются условия:
— вместо нулей вставляются единицы;
— нарушается закон чередования полярностей для того, чтобы на приемном конце могли различить вставленную единицу;
— между правильно переданной последовательностью и нарушением всегда находится нечетное количество импульсов (единиц), переданных в соответствии с правилом кодирования;
— на приемном конце после обнаружения указанных выше условий восстанавливается последовательность из трех нулей на месте прихода нарушенной комбинации; дополнительно передаваемые единицы используются для выделения передних фронтов и синхронизации генераторов.
Рассмотренный выше код обозначается HDBN (High Density Bipolar of Order N). В примере показан HDB3.
Преобразование к троичным кодам
Биполярный код использует для передачи троичные сигналы. Это позволяет повысить информационность каждой передаваемой единицы. Одна из первых процедур состоит в сведении двоичных кодов к троичным, что позволяет кодировать комбинации меньшим числом разрядов и тем самым повысить скорость передачи. Последовательность чисел от 0 до 15 можно закодировать и передать с помощью четырех битов. При использовании троичных кодов для этого потребуется только три разряда. Таким образом, требуемая скорость в канале уменьшается и составляет только 3 /4от скорости, требуемой для передачи двоичными кодами. Например, если при передаче двоичными кодами требуется скорость 160 бит/с, то при троичных кодах — только 120 бит/с. Одно из частных преимуществ троичного кодирования состоит в избыточности кода. Три троичных символа дают 27 комбинаций, а четыре двоичных — 16. Поэтому для передачи многим двоичным комбинациям можно сопоставить по две троичных комбинации. Это делается для несбалансированных кодов, т.е. тех, в которых преобладают сигналы положительной или отрицательной полярности. Тогда второй код выбирается с обратной балансировкой, и их попеременная передача обеспечивает отсутствие постоянной составляющей в линии. Те коды, которые не имеют второго варианта, выбираются из множества сбалансированных комбинаций, как это показано в табл. 1.10. Этот код получил обозначение 4ВЗТ (так как преобразует четыре двоичных символа в 3 троичных).
По аналогии с этим кодом был разработан код 2B1Q, который преобразует два двоичных символа в один символ в системе из четырех уровней. Это позволяет снизить требования к линейной скорости в 4 раза или во столько же раз повысить пропускную способность канала.
Эта тенденция получила дальнейшее развитие в применении многоуровневых кодов для расширения пропускной способности канала.
Кодирование 2B1Q
Код 2B1Q передает пару бит за один битовый интервал. Каждой возможной паре в соответствие ставится свой уровень потенциала. Паре 00 соответствует потенциал −2.5 В, 01 соответствует −0.833 В, 11 — +0.833 В, 10 — +2.5 В.Достоинство метода 2B1Q: Сигнальная скорость у этого метода в два раза ниже, чем у кодов NRZ и AMI, а спектр сигнала в два раза уже. Следовательно с помощью 2B1Q-кода можно по одной и той же линии передавать данные в два раза быстрее. Недостаток метода 2B1Q: Реализация этого метода требует более мощного передатчика и более сложного приемника, который должен различать четыре уровня.
Двоичный код
Двоичный код — это способ представления данных в одном разряде в виде комбинации двух знаков, обычно обозначаемых цифрами 0 и 1. Разряд в этом случае называется двоичным разрядом.
В случае обозначения цифрами «0» и «1», возможные состояния двоичного разряда наделяются качественным соотношением «1» > «0» и количественными значениями чисел «0» и «1».
Двоичный код может быть непозиционным и позиционным.
Из комбинаторики известно, что, в случае непозиционного кода, количество комбинаций (кодов) n-разрядного кода является числом сочетаний с повторениями, равно биномиальному коэффициенту:
, [возможных состояний (кодов)], где:
— количество элементов в данном множестве различных элементов (количество возможных состояний, цифр, кодов в разряде),
— количество элементов в наборе (количество разрядов).
В двоичной системе кодирования (n=2) количество возможных состояний (кодов) равно :
, [возможных состояний (кодов)], т.е.
, [возможных состояний (кодов)], где
— количество двоичных разрядов (дворов, битов).
Например, в одном 8-ми битном байте (k=8) количество возможных состояний (кодов) равно:
, [возможных состояний (кодов)].
В случае позиционного кода, число комбинаций (кодов) n-разрядного двоичного кода равно числу размещений с повторениями:
, где
— число разрядов двоичного кода.
Используя два двоичных разряда можно закодировать четыре различные комбинации: 00 01 10 11, три двоичных разряда — восемь: 000 001 010 011 100 101 110 111, и так далее.
При увеличении разрядности позиционного двоичного кода на 1, количество различных комбинаций в позиционном двоичном коде удваивается.
Двоичные коды являются комбинациями двух элементов и не являются двоичной системой счисления, но используются в ней как основа. Двоичный код также может использоваться для кодирования чисел в системах счисления с любым другим основанием. Пример: в двоично-десятичном кодировании (BCD) используется двоичный код для кодирования чисел в десятичной системе счисления.
При кодировании алфавитноцифровых символов (знаков) двоичному коду не приписываются весовые коэффициенты, как это делается в системах счисления, в которых двоичный код используется для представления чисел, а используется только порядковый номер кода из множества размещений с повторениями.
В системах счисления n-разрядный двоичный код, (n-1)-разрядный двоичный код, (n-2)-разрядный двоичный код и т. д. могут отображать одно и то же число. Например, 0001, 001, 01, 1 — одно и то же число — «1» в двоичных кодах с разным числом разрядов — n.
Содержание
Таблица двоичных кодов
Пример «доисторического» использования кодов
Инки имели свою счётную систему кипу, которая физически представляла собой верёвочные сплетения и узелки. Генри Эртан обнаружил, что в узелках заложен некий код, более всего похожий на двоичную систему счисления. [1]
Примечания
См. также
Полезное
Смотреть что такое «Двоичный код» в других словарях:
двоичный код — Код, основание которого равно двум. [Сборник рекомендуемых терминов. Выпуск 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 … Справочник технического переводчика
симметричный двоичный код ИКМ — Код, при котором полярность квантованного отсчета сигнала электросвязи при ИКМ выражается одним символом цифрового сигнала электросвязи, а остальные символы выражают двоичное число, представляющее абсолютную величину отсчета этого сигнала.… … Справочник технического переводчика
Как объяснять двоичную систему счисления
Кто-то только входит в IT-мир, кто-то объясняет информатику своему чаду.
Довольно быстро вы обнаружите, что не так-то просто объяснить, как работает двоичный счёт.
Это вам очевидно, что после 11 идёт 100, а новичку это ещё долго может быть непонятно.
Так вот, чтобы увеличить скорость понимания, мы решили сделать дидактический материал.
Проблема
Важно отметить, что даже распиаренный курс Гарвардского университета по компьютерным наукам «CS50» не помогает.
Парень из американского университета просто заявляет, что «нуль — это нуль», «один — это один», а потом идёт 10, а потом 11. Понятно? Думаю, нет. Вот спросите кого-то, кто не программист, а каким будет следующее число — высока вероятность, что он не сможет ответить. Слишком быстро проскочили идею о переносе разряда.
То же самое касается школьных методов перевода: во-первых, методы эти академически сухи, во-вторых, не интуитивны — например, не очевидно, почему после каскадного деления на 2 нужно ставить биты задом наперёд.
А если непонятно, то и не интересно. А если нет интереса, то и запоминается с трудом.
Мы это всё учли, и решили сделать интересное и постепенное объяснение.
Что мы предлагаем
Сначала нужно объяснить, как вообще работает обычная десятичная система счисления — и про конечный «алфавит» цифр, и про идею переноса разряда. Так развивается понимание принципа «системы счисления».
Только потом можно переходить к идее двоичной системы — и вот обучаемый уже медленно, но довольно уверенно говорит «1, 10, 11, 100».
Далее, мы решили попробовать совсем не школьный метод — объяснение двоичного счёта на пальцах: это когда загнутый палец это 0, а разогнутый это 1.
Я проверял это на подростках: показываешь им: «это 1, это 2, это 3 — теперь покажите мне 4». И весь класс сосредоточенно, медленно показывает средние пальцы. Отличницы в эсхатологическом восторге, задние парты тыкают друг другу в лицо и кричат «на тебе четвёрку!».
Провокативно? Да. Запоминается? 100%.
Теперь, когда тема стала «своей», можно переходить к теме перевода чисел из одной системы счисления в другую — начать лучше с классического школьного сухого перевода (если честно, то больше чтобы постращать).
А уже потом с помощью анимации объяснить идею перевода прямо на пальцах, и потом опять же на пальцах пересчитать число 132 в средние пальцы уже на обеих руках.
На десерт показываем, где двоичная и 16-ричная системы применяется в реальной жизни.
Двоичная система — это например QR-коды вокруг нас.
А 16-ричная система это в основном коды цветов в CSS и хеши разных стилей, от MD5 до UUID.
Итак, вот весь пакет видео-уроков (они бесплатные, в Ютубе):
Двоичные коды
Преимущества двоичного кода
Ниже приведен список преимуществ, которые предлагает двоичный код.
Двоичные коды подходят для компьютерных приложений.
Двоичные коды подходят для цифровой связи.
Двоичные коды делают анализ и проектирование цифровых схем, если мы используем двоичные коды.
Поскольку используются только 0 и 1, реализация становится легкой.
Двоичные коды подходят для компьютерных приложений.
Двоичные коды подходят для цифровой связи.
Двоичные коды делают анализ и проектирование цифровых схем, если мы используем двоичные коды.
Поскольку используются только 0 и 1, реализация становится легкой.
Классификация двоичных кодов
Коды широко подразделяются на следующие четыре категории.
Взвешенные коды
Взвешенные двоичные коды — это те двоичные коды, которые подчиняются принципу позиционного веса. Каждая позиция числа представляет определенный вес. Несколько систем кодов используются для выражения десятичных цифр от 0 до 9. В этих кодах каждая десятичная цифра представлена группой из четырех битов.
Невзвешенные коды
В этом типе двоичных кодов позиционные веса не назначаются. Примерами невзвешенных кодов являются код Excess-3 и код Грея.
Код избытка-3
Код Excess-3 также называется кодом XS-3. Это невзвешенный код, используемый для выражения десятичных чисел. Кодовые слова Excess-3 получаются из кодовых слов BCD 8421, добавляющих (0011) 2 или (3) 10 к каждому кодовому слову в 8421. Коды избыточного 3 получают следующим образом:
пример
Серый код
Это невзвешенный код и это не арифметические коды. Это означает, что для битовой позиции нет конкретных весов. У него есть особая особенность, что при каждом увеличении десятичного числа будет изменяться только один бит, как показано на рис. Поскольку за один раз изменяется только один бит, серый код называется единичным кодом расстояния. Серый код — это циклический код. Код Грея нельзя использовать для арифметической операции.
Применение кода Грея
Серый код широко используется в датчиках положения вала.
Датчик положения вала создает кодовое слово, которое представляет угловое положение вала.
Серый код широко используется в датчиках положения вала.
Датчик положения вала создает кодовое слово, которое представляет угловое положение вала.
Двоичный код (BCD)
В этом коде каждая десятичная цифра представлена 4-битным двоичным числом. BCD — это способ выразить каждую десятичную цифру двоичным кодом. В BCD с четырьмя битами мы можем представить шестнадцать чисел (от 0000 до 1111). Но в коде BCD используются только первые десять из них (от 0000 до 1001). Остальные шесть кодовых комбинаций, то есть 1010–1111, недопустимы в BCD.
Преимущества кодов BCD
Недостатки кодов BCD
Сложение и вычитание BCD имеют разные правила.
Арифметика BCD немного сложнее.
BCD требуется большее количество бит, чем двоичное, чтобы представить десятичное число. Так что BCD менее эффективен, чем двоичный.
Сложение и вычитание BCD имеют разные правила.
Арифметика BCD немного сложнее.
BCD требуется большее количество бит, чем двоичное, чтобы представить десятичное число. Так что BCD менее эффективен, чем двоичный.
Буквенно-цифровые коды
Бинарная цифра или бит может представлять только два символа, поскольку имеет только два состояния: «0» или «1». Но этого недостаточно для связи между двумя компьютерами, потому что там нам нужно гораздо больше символов для связи. Эти символы должны представлять 26 алфавитов с заглавными и строчными буквами, числами от 0 до 9, знаками препинания и другими символами.
Буквенно-цифровые коды представляют собой коды, которые представляют цифры и буквенные символы. В основном такие коды также представляют другие символы, такие как символы и различные инструкции, необходимые для передачи информации. Буквенно-цифровой код должен содержать не менее 10 цифр и 26 букв алфавита, т.е. всего 36 знаков. Следующие три буквенно-цифровых кода очень часто используются для представления данных.
Код ASCII — это 7-битный код, тогда как EBCDIC — это 8-битный код. Код ASCII чаще используется во всем мире, в то время как EBCDIC используется в основном на больших компьютерах IBM.
Коды ошибок
Существуют методы двоичного кода, позволяющие обнаруживать и исправлять данные во время передачи данных.