Бинарный код в текст. Запись текстов двоичным кодом (Запись букв двоичным кодом) Бинарный код онлайн

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

В отличие от привычного для нас десятичного кодирования чисел, то есть кода с основанием десять, при двоичном кодировании в основании кода лежит число два (рис. 2.9). То есть каждая цифра кода (каждый разряд) двоичного кода может принимать не десять значений (как в десятичном коде: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9), а всего лишь два - 0 и 1. Система позиционной записи остается такой же, то есть справа пишется самый младший разряд, а слева - самый старший. Но если в десятичной системе вес каждого следующего разряда больше веса предыдущего в десять раз, то в двоичной системе (при двоичном кодировании) - в два раза. Каждый разряд двоичного кода называется бит (от английского "Binary Digit" - "двоичное число").

Рис. 2.9. Десятичное и двоичное кодирование

В табл. 2.3 показано соответствие первых двадцати чисел в десятичной и двоичной системах.

Из таблицы видно, что требуемое количество разрядов двоичного кода значительно больше, чем требуемое количество разрядов десятичного кода. Максимально возможное число при количестве разрядов, равном трем, составляет при десятичной системе 999, а при двоичной - всего лишь 7 (то есть 111 в двоичном коде). В общем случае n-разрядное двоичное число может принимать 2 n различных значений, а n-разрядное десятичное число - 10 n значений. То есть запись больших двоичных чисел (с количеством разрядов больше десяти) становится не слишком удобной.

Таблица 2.3. Соответствие чисел в десятичной и двоичной системах
Десятичная система Двоичная система Десятичная система Двоичная система

Для того чтобы упростить запись двоичных чисел, была предложена так называемая шестнадцатеричная система (16-ричное кодирование). В этом случае все двоичные разряды разбиваются на группы по четыре разряда (начиная с младшего), а затем уже каждая группа кодируется одним символом. Каждая такая группа называется полубайтом (или нибблом , тетрадой ), а две группы (8 разрядов) - байтом. Из табл. 2.3 видно, что 4-разрядное двоичное число может принимать 16 разных значений (от 0 до 15). Поэтому требуемое число символов для шестнадцатиричного кода тоже равно 16, откуда и происходит название кода. В качестве первых 10 символов берутся цифры от 0 до 9, а затем используются 6 начальных заглавных букв латинского алфавита: A, B, C, D, E, F.

Рис. 2.10. Двоичная и 16-ричная запись числа

В табл. 2.4 приведены примеры 16-ричного кодирования первых 20 чисел (в скобках приведены двоичные числа), а на рис. 2.10 показан пример записи двоичного числа в 16-ричном виде. Для обозначения 16-ричного кодирования иногда применяют букву "h" или "H" (от английского Hexadecimal) в конце числа, например, запись A17F h обозначает 16-ричное число A17F. Здесь А1 представляет собой старший байт числа, а 7F - младший байт числа. Все число (в нашем случае - двухбайтовое) называется словом .

Таблица 2.4. 16-ричная система кодирования
Десятичная система 16-ричная система Десятичная система 16-ричная система
0 (0) A (1010)
1(1) B (1011)
2 (10) C (1100)
3 (11) D (1101)
4 (100) E (1110)
5 (101) F (1111)
6 (110) 10 (10000)
7 (111) 11 (10001)
8 (1000) 12 (10010)
9 (1001) 13 (10011)

Для перевода 16-ричного числа в десятичное необходимо умножить значение младшего (нулевого) разряда на единицу, значение следующего (первого) разряда на 16, второго разряда на 256 (16 2) и т.д., а затем сложить все произведения. Например, возьмем число A17F:

A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343

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

Помимо рассмотренных кодов, существует также и так называемое двоично-десятичное представление чисел. Как и в 16-ричном коде, в двоично-десятичном коде каждому разряду кода соответствует четыре двоичных разряда, однако каждая группа из четырех двоичных разрядов может принимать не шестнадцать, а только десять значений, кодируемых символами 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. То есть одному десятичному разряду соответствует четыре двоичных. В результате получается, что написание чисел в двоично-десятичном коде ничем не отличается от написания в обычном десятичном коде (табл. 2.6), но в реальности это всего лишь специальный двоичный код, каждый разряд которого может принимать только два значения: 0 и 1. Двоично-десятичный код иногда очень удобен для организации десятичных цифровых индикаторов и табло.

Таблица 2.6. Двоично-десятичная система кодирования
Десятичная система Двоично-десятичная система Десятичная система Двоично-десятичная система
0 (0) 10 (1000)
1(1) 11 (1001)
2 (10) 12 (10010)
3 (11) 13 (10011)
4 (100) 14 (10100)
5 (101) 15 (10101)
6 (110) 16 (10110)
7 (111) 17 (10111)
8 (1000) 18 (11000)
9 (1001) 19 (11001)

В двоичном коде над числами можно проделывать любые арифметические операции: сложение, вычитание, умножение, деление.

Рассмотрим, например, сложение двух 4-разрядных двоичных чисел. Пусть надо сложить число 0111 (десятичное 7) и 1011 (десятичное 11). Сложение этих чисел не сложнее, чем в десятичном представлении:

При сложении 0 и 0 получаем 0, при сложении 1 и 0 получаем 1, при сложении 1 и 1 получаем 0 и перенос в следующий разряд 1. Результат - 10010 (десятичное 18). При сложении любых двух n-разрядных двоичных чисел может получиться n-разрядное или (n+1)-разрядное число.

Точно так же производится вычитание. Пусть из числа 10010 (18) надо вычесть число 0111 (7). Записываем числа с выравниванием по младшему разряду и вычитаем точно так же, как в случае десятичной системы:

При вычитании 0 из 0 получаем 0, при вычитании 0 из 1 получаем 1, при вычитании 1 из 1 получаем 0, при вычитании 1 из 0 получаем 1 и заем 1 в следующем разряде. Результат - 1011 (десятичное 11).

При вычитании возможно получение отрицательных чисел, поэтому необходимо использовать двоичное представление отрицательных чисел.

Для одновременного представления как двоичных положительных, так и двоичных отрицательных чисел чаще всего используется так называемый дополнительный код. Отрицательные числа в этом коде выражаются таким числом, которое, будучи сложено с положительным числом такой же величины, даст в результате нуль. Для того чтобы получить отрицательное число, надо поменять все биты такого же положительного числа на противоположные (0 на 1, 1 на 0) и прибавить к результату 1. Например, запишем число –5. Число 5 в двоичном коде выглядит 0101. Заменяем биты на противоположные: 1010 и прибавляем единицу: 1011. Суммируем результат с исходным числом: 1011 + 0101 = 0000 (перенос в пятый разряд игнорируем).

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

Помимо стандартных арифметических операций, в двоичной системе счисления используются и некоторые специфические операции, например, сложение по модулю 2. Эта операция (обозначается A) является побитовой, то есть никаких переносов из разряда в разряд и заемов в старших разрядах здесь не существует. Правила сложения по модулю 2 следующие: , , . Эта же операция называется функцией Исключающее ИЛИ . Например, просуммируем по модулю 2 два двоичных числа 0111 и 1011:

Среди других побитовых операций над двоичными числами можно отметить функцию И и функцию ИЛИ. Функция И дает в результате единицу только тогда, когда в соответствующих битах двух исходных чисел обе единицы, в противном случае результат -0. Функция ИЛИ дает в результате единицу тогда, когда хотя бы один из соответствующих битов исходных чисел равен 1, в противном случае результат 0.

Термин «бинарный» по смыслу – состоящий из двух частей, компонентов. Таким образом бинарные коды это коды которые состоят только из двух символьных состояний например черный или белый, светлый или темный, проводник или изолятор. Бинарный код в цифровой технике это способ представления данных (чисел, слов и других) в виде комбинации двух знаков, которые можно обозначить как 0 и 1. Знаки или единицы БК называют битами. Одним из обоснований применения БК является простота и надежность накопления информации в каком-либо носителе в виде комбинации всего двух его физических состояний, например в виде изменения или постоянства светового потока при считывании с оптического кодового диска.
Существуют различные возможности кодирования информации.

Двоичный код

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

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

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

числовое значение двоичный код
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111

Отсюда видно, что для числа больше 7 при 3-разрядном коде уже нет кодовых комбинаций из 0 и 1.

Переходя от чисел к физическим величинам, сформулируем вышеприведенное утверждение в более общем виде: наибольшее количество значений m какой-либо величины (температуры, напряжения, тока и др.), которое может быть выражено двоичным кодом, зависит от числа используемых разрядов n как m=2n. Если n=3, как в рассмотренном примере, то получим 8 значений, включая ведущий 0.
Двоичный код является многошаговым кодом. Это означает, что при переходе с одного положения (значения) в другое могут изменятся несколько бит одновременно. Например число 3 в двоичном коде = 011. Число же 4 в двоичном коде = 100. Соответственно при переходе от 3 к 4 меняют свое состояние на противоположное все 3 бита одновременно. Считывание такого кода с кодового диска привело бы к тому, что из-за неизбежных отклонений (толеранцев) при производстве кодового диска изменение информации от каждой из дорожек в отдельности никогда не произойдет одновременно. Это в свою очередь привело бы к тому, что при переходе от одного числа к другому кратковременно будет выдана неверная информация. Так при вышеупомянутом переходе от числа 3 к числу 4 очень вероятна кратковременная выдача числа 7 когда, например, старший бит во время перехода поменял свое значение немного раньше чем остальные. Чтобы избежать этого, применяется так называемый одношаговый код, например так называемый Грей-код.

Код Грея

Грей-код является так называемым одношаговым кодом, т.е. при переходе от одного числа к другому всегда меняется лишь какой-то один из всех бит информации. Погрешность при считывании информации с механического кодового диска при переходе от одного числа к другому приведет лишь к тому, что переход от одного положения к другом будет лишь несколько смещен по времени, однако выдача совершенно неверного значения углового положения при переходе от одного положения к другому полностью исключается.
Преимуществом Грей-кода является также его способность зеркального отображения информации. Так инвертируя старший бит можно простым образом менять направление счета и таким образом подбирать к фактическому (физическому) направлению вращения оси. Изменение направления счета таким образом может легко изменяться управляя так называемым входом ” Complement “. Выдаваемое значение может таким образом быть возврастающим или спадающим при одном и том же физическом направлении вращения оси.
Поскольку информация выраженая в Грей-коде имеет чисто кодированный характер не несущей реальной числовой информации должен он перед дальнейшей обработкой сперва преобразован в стандартный бинарный код. Осуществляется это при помощи преобразователя кода (декодера Грей-Бинар) который к счастью легко реализируется с помощью цепи из логических элементов «исключающее или» (XOR) как програмным так и аппаратным способом.

Соответствие десятичных чисел в диапазоне от 0 до 15 двоичному коду и коду Грея

Двоичное кодирование Кодирование по методу Грея
Десятичный код
Двоичное значение Шестнадц. значение Десятичный код Двоичное значение Шестнадц. значение
0 0000 0h 0 0000 0h
1 0001 1h 1 0001 1h
2 0010 2h 3 0011 3h
3 0011 3h 2 0010 2h
4 0100 4h 6 0110 6h
5 0101 5h 7 0111 7h
6 0110 6h 5 0101 5h
7 0111 7h 4 0100 4h
8 1000 8h 12 1100 Ch
9 1001 9h 13 1101 Dh
10 1010 Ah 15 1111 Fh
11 1011 Bh 14 1110 Eh
12 1100 Ch 10 1010 Ah
13 1101 Dh 11 1011 Bh
14 1110 Eh 9 1001 9h
15 1111 Fh 8 1000 8h

Преобразование кода Грея в привычный бинарный код можно осуществить используя простую схему с инверторами и логическими элементами “исключающее или” как показано ниже:

Код Gray-Excess

Обычный одношаговый Грей-код подходит для разрешений, которые могут быть представлены в виде числа возведенного в степень 2. В случаях где надо реализовать другие разрешения из обычного Грей-кода вырезается и используется средний его участок. Таким образом сохраняется «одношаговость» кода. Однако числовой диапазон начинается не с нуля, а смещяется на определенное значение. При обработке информации от генерируемого сигнала отнимается половина разницы между первоначальным и редуцированным разрешением. Такие разрешения как например 360? для выражения угла часто реализируются этим методом. Так 9-ти битный Грей-код равный 512 шагов, урезанный с обеих сторон на 76 шагов будет равен 360°.

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

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

Подсчет в двоичном формате

В двоичном выражении первая цифра равноценна 1 из десятичной системы. Вторая цифра равна 2, третья – 4, четвертая – 8, и так далее – удваивается каждый раз. Добавление всех этих значений даст вам число в десятичном формате.

1111 (в двоичном формате) = 8 + 4 + 2 + 1 = 15 (в десятичной системе)

Учет 0 даёт нам 16 возможных значений для четырех двоичных битов. Переместитесь на 8 бит, и вы получите 256 возможных значений. Это занимает намного больше места для представления, поскольку четыре цифры в десятичной форме дают нам 10000 возможных значений. Конечно, бинарный код занимает больше места, но компьютеры понимают двоичные файлы намного лучше, чем десятичную систему. И для некоторых вещей, таких как логическая обработка, двоичный код лучше десятичного.

Следует сказать, что существует ещё одна базовая система, которая используется в программировании: шестнадцатеричная . Хотя компьютеры не работают в шестнадцатеричном формате, программисты используют её для представления двоичных адресов в удобочитаемом формате при написании кода. Это связано с тем, что две цифры шестнадцатеричного числа могут представлять собой целый байт, то есть заменяют восемь цифр в двоичном формате. Шестнадцатеричная система использует цифры 0-9, а также буквы от A до F, чтобы получить дополнительные шесть цифр.

Почему компьютеры используют двоичные файлы

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

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

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

Вот схема типичного транзистора:

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

Почему только двоичная система

Поэтому вы можете подумать: «Почему только 0 и 1? Почему бы не добавить ещё одну цифру?». Хотя отчасти это связано с традициями создания компьютеров, вместе с тем, добавление ещё одной цифры означало бы необходимость выделять ещё одно состояние тока, а не только «выключен» или «включен».

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

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

Таким образом, бинарная математика проще для компьютера, чем что-либо ещё. Двоичная логика легко преобразуется в двоичные системы, причем True и False соответствуют состояниям Вкл и Выкл .

Бинарная таблица истинности, работающая на двоичной логике, будет иметь четыре возможных выхода для каждой фундаментальной операции. Но, поскольку тройные ворота используют три входа, тройная таблица истинности имела бы 9 или более. В то время как бинарная система имеет 16 возможных операторов (2^2^2), троичная система имела бы 19683 (3^3^3). Масштабирование становится проблемой, поскольку, хотя троичность более эффективна, она также экспоненциально более сложна.

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

Двоичный код представляет собой форму записи информации в виде единиц и нулей. Такая является позиционной с основанием 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-м веке до н. э. Другие древние цивилизации, например, индейцы майя, также использовали сложные комбинации десятичных и бинарных систем для отслеживания временных интервалов и астрономических явлений.

Если вам интересно узнать, как читать двоичные числа, важно понять, как работают двоичные числа. Двоичная система известна как система нумерации «base 2», что означает наличие двух возможных чисел для каждой цифры; один или ноль. Большие числа записываются путем добавления дополнительных двоичных единиц или нулей.



Понимание двоичных чисел


Знание того, как читать двоичные файлы, не является критичным для использования компьютеров. Но хорошо понять концепцию, чтобы лучше понять, как компьютеры хранят числа в памяти. Он также позволяет понимать такие термины, как 16-битные, 32-битные, 64-битные и измерения памяти, такие как байты (8 бит).



«Чтение» двоичного кода обычно означает перевод двоичного числа в базовое 10 (десятичное) число, с которым люди знакомы. Это преобразование достаточно просто выполнить в своей голове, когда вы поймете, как работает бинарный язык.

Каждая цифра в двоичном числе имеет определенное значение, если цифра не является нулем. После того как вы определили все эти значения, вы просто складываете их вместе, чтобы получить 10-значное десятичное значение двоичного числа. Чтобы увидеть, как это работает, возьмите двоичное число 11001010.


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



2. Затем перейдите к следующей цифре. Если это один, то рассчитайте два в степени одного. Запишите это значение. В этом примере значение равно степени два, равной двум.



3. Продолжайте повторять этот процесс, пока не дойдете до самой левой цифры.



4. Чтобы закончить, все, что вам нужно сделать, это сложить все эти числа вместе, чтобы получить общее десятичное значение двоичного числа: 128 + 64 + 0 + 0 + 8 + 0 + 2 + 0 = 202 .


Заметка : Другой способ увидеть весь этот процесс в форме уравнения заключается в следующем: 1 x 2 7 + 1 x 2 6 + 0 x 2 5 + 0 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 0 х 2 0 = 20 .


Двоичные числа с подписью


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


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


Чтение двоичного числа со знаком почти такое же, как и без знака, с одним небольшим отличием.


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



2. Чтобы определить знак, осмотрите крайний левый бит. Если это единица, то число отрицательное. Если это ноль, то число положительное.



3. Теперь выполните те же вычисления, что и раньше, но примените соответствующий знак к числу, указанному крайним левым битом: 64 + 0 + 0 + 8 + 0 + 2 + 0 = -74 .


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