Двоичный код представляет текст , инструкции компьютерного процессора или любые другие данные с использованием двухсимвольной системы. Используемая двухсимвольная система часто представляет собой «0» и «1» из двоичной системы счисления . Двоичный код присваивает каждому символу, инструкции и т. д. шаблон двоичных цифр, также известный как биты . Например, двоичная строка из восьми бит (которая также называется байтом) может представлять любое из 256 возможных значений и может: следовательно, представляют собой большое разнообразие различных предметов.
В вычислительной технике и телекоммуникациях двоичные коды используются для различных методов кодирования данных, таких как строки символов , в строки битов. Эти методы могут использовать строки фиксированной или переменной ширины . В двоичном коде фиксированной ширины каждая буква, цифра или другой символ представлена битовой строкой одинаковой длины; эта битовая строка, интерпретируемая как двоичное число , обычно отображается в кодовых таблицах в восьмеричной , десятичной или шестнадцатеричной системе счисления. Для них существует множество наборов символов и множество кодировок символов .
Битовая строка , интерпретируемая как двоичное число, может быть преобразована в десятичное число . Например, строчная буква a , если она представлена битовой строкой 01100001
(как в стандартном коде ASCII ), также может быть представлена как десятичное число «97».
Современная двоичная система счисления, основа двоичного кода, была изобретена Готфридом Лейбницем в 1689 году и описана в его статье Explication de l'Arithmétique Binaire . Полное название переведено на английский язык как «Объяснение двоичной арифметики», в котором используются только символы 1 и 0, с некоторыми замечаниями о его полезности и о том, как оно проливает свет на древние китайские фигуры Фу Си . [1] В системе Лейбница используются 0 и 1, как и в современной двоичной системе счисления. Лейбниц познакомился с «И Цзин» через французского иезуита Иоахима Буве и с восхищением отметил, как его гексаграммы соответствуют двоичным числам от 0 до 111111, и пришел к выводу, что это отображение является свидетельством крупных китайских достижений в той философской визуальной двоичной математике , которой он восхищался. [2] [3] Лейбниц рассматривал гексаграммы как подтверждение универсальности его собственных религиозных убеждений. [3]
Двоичные числа занимали центральное место в теологии Лейбница. Он считал, что двоичные числа символизируют христианскую идею creatio ex nihilo или творения из ничего. [4] Лейбниц пытался найти систему, которая преобразует логические вербальные утверждения в чисто математические . После того, как его идеи были проигнорированы, он наткнулся на классический китайский текст под названием «И Цзин» или «Книга перемен», в котором использовались 64 гексаграммы шестибитного визуального двоичного кода. Книга подтвердила его теорию о том, что жизнь можно упростить или свести к ряду простых положений. Он создал систему, состоящую из рядов нулей и единиц. В этот период времени Лейбниц еще не нашел применения этой системе. [5]
Бинарные системы, существовавшие до Лейбница, существовали и в древнем мире. Вышеупомянутый И-Цзин , с которым столкнулся Лейбниц, датируется 9 веком до нашей эры в Китае. [6] Бинарная система «И Цзин» , текста для гадания, основана на двойственности Инь и Ян . [7] Щелевые барабаны с двоичными тонами используются для кодирования сообщений в Африке и Азии. [7] Индийский учёный Пингала (около V–II веков до н. э.) в своём «Чандашутраме» разработал двоичную систему описания просодии . [8] [9]
Жители острова Мангарева во Французской Полинезии использовали гибридную двоично- десятичную систему до 1450 года. [10] В 11 веке учёный и философ Шао Юн разработал метод расположения гексаграмм, который соответствует, хотя и непреднамеренно, последовательности От 0 до 63, как представлено в двоичном формате, где инь — 0, ян — 1 и младший бит сверху. Этот порядок также является лексикографическим порядком шестиэлементных элементов , выбранных из набора двух элементов. [11]
В 1605 году Фрэнсис Бэкон обсудил систему, с помощью которой буквы алфавита можно было свести к последовательностям двоичных цифр, которые затем можно было закодировать как едва заметные варианты шрифта в любом случайном тексте. [12] Что важно для общей теории двоичного кодирования, он добавил, что этот метод можно использовать с любыми объектами вообще: «при условии, что эти объекты способны различаться только в два раза; как колокола, трубы, фонари и факелы, по докладу мушкетов и любых подобных инструментов». [12]
Джордж Буль опубликовал в 1847 году статью под названием «Математический анализ логики», в которой описывается алгебраическая система логики, ныне известная как булева алгебра . Система Буля была основана на бинарном подходе «да-нет» и «включено-выключено», который состоял из трех основных операций: И, ИЛИ и НЕ. [13] Эта система не была введена в действие до тех пор, пока аспирант Массачусетского технологического института Клод Шеннон не заметил , что изученная им булева алгебра похожа на электрическую цепь. В 1937 году Шеннон написал магистерскую диссертацию « Символический анализ релейных и коммутационных цепей» , в которой реализовал свои открытия. Диссертация Шеннона стала отправной точкой для использования двоичного кода в практических приложениях, таких как компьютеры, электрические схемы и т. д. [14]
Битовая строка — не единственный тип двоичного кода: фактически, двоичная система в целом — это любая система, которая допускает только два выбора, например, переключение в электронной системе или простой тест «правда» или «ложь».
Брайль — это тип двоичного кода, широко используемый слепыми для чтения и письма на ощупь, названный в честь его создателя Луи Брайля. Эта система состоит из сеток по шесть точек в каждой, по три на столбец, в которых каждая точка имеет два состояния: поднята или не поднята. Различные комбинации выпуклых и сплющенных точек способны обозначать все буквы, цифры и знаки препинания.
Багуа — это диаграммы , используемые в фэн-шуй , даосской космологии и исследованиях И Цзин . Ба Гуа состоит из 8 триграмм; ба означает 8 и гуа означает фигуру для гадания. Это же слово используется для обозначения 64 гуа (гексаграмм). Каждая фигура сочетает в себе три линии ( яо ), которые либо прерваны ( инь ), либо непрерывны ( ян ). Отношения между триграммами представлены в двух формах: изначальном, багуа «Ранние Небеса» или «Фуси» , и проявленном багуа «Поздние Небеса», или «Царь Вэнь» . [15] (См. также последовательность 64 гексаграмм короля Вэня ).
Система гадания Ифа /Ифе в африканских религиях, таких как йоруба , игбо и эве , состоит из сложной традиционной церемонии создания 256 оракулов, состоящих из 16 символов, 256 = 16 x 16. Посвященный священник, или Бабалаво , который запоминал прорицания, просил жертвоприношения у консультирующихся клиентов и молился. Затем гадальные гайки или пара цепочек используются для получения случайных двоичных чисел, [16] которые рисуются песчаным материалом на фигурном деревянном подносе «Опун», представляющем всю совокупность судьбы.
Благодаря распространению исламской культуры Ифе/Ифа была ассимилирована как «Наука о песке» (илм аль-рамл), которая затем распространилась дальше и стала «Наукой чтения знаков на земле» ( геомантией ) в Европе.
Считалось, что это еще один возможный путь вдохновения информатики, [17] поскольку геомантия пришла в Европу на более раннем этапе (около 12 века, описанного Хью Санталлы ), чем И Цзин (17 век, описанный Готфридом Вильгельмом Лейбницем). ).
Американский стандартный код обмена информацией (ASCII) использует 7-битный двоичный код для представления текста и других символов в компьютерах, коммуникационном оборудовании и других устройствах. Каждой букве или символу присвоен номер от 0 до 127. Например, строчная буква «а» представлена в 1100001
виде битовой строки (которая в десятичном формате равна «97»).
Двоично-десятичное число (BCD) — это двоичное представление целочисленных значений, в котором для кодирования десятичных цифр используется 4-битный полубайт . Четыре двоичных бита могут кодировать до 16 различных значений; но в числах в двоично-десятичном коде только десять значений в каждом полубайте являются допустимыми и кодируют десятичные цифры от нуля до девяти. Остальные шесть значений являются недопустимыми и могут вызвать либо машинное исключение, либо неопределенное поведение, в зависимости от компьютерной реализации арифметики BCD.
Арифметика BCD иногда предпочтительнее числовых форматов с плавающей запятой в коммерческих и финансовых приложениях, где сложные методы округления чисел с плавающей запятой неуместны. [18]
Большинство современных компьютеров используют двоичное кодирование инструкций и данных. Компакт-диски , DVD-диски и диски Blu-ray представляют звук и видео в цифровом виде в двоичной форме. Телефонные звонки передаются в цифровом виде в сетях междугородной и мобильной связи с использованием импульсно-кодовой модуляции , а также в сетях передачи голоса по IP .
Вес двоичного кода, как определено в таблице кодов с постоянным весом , [20] — это вес Хэмминга кодирования двоичных слов для представленных слов или последовательностей.