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