Двоичная система счисления
Системы счисления | |
---|---|
Позиционные | |
Непозиционные | |
Смешанные | |
Двои́чная систе́ма счисле́ния — это один из видов позиционных систем счисления. Основание данной системы равно двум, то есть используется только два символа для записи чисел — цифры 0 и 1. При этом, как и во всякой позиционной системе, значение (вес) цифры зависит от занимаемого ею места (позиции или разряда)[1].
Благодаря тому, что символам 0 и 1 можно сопоставить два устойчивых состояния электронных вентилей «выключено/включено», двоичная система счисления используется практически во всей современной цифровой технике для представления чисел при реализации математических операций.
Стоит отметить, что английский термин binary digit — двоичная цифра, дал название единице измерения информации — бит.
История
Двоичная система счисления изучалась в Европе в XVI - XVII веках, однако системы, связанные с двоичными числами, появились ранее во многих культурах, включая древний Египет, Китай и Индию. Лейбниц был особенно вдохновлен китайским «И Цзин» (Двоичная система счисления в И Цзин используется для интерпретации четвертичной техники гадания).
В 1605 году Френсис Бэкон описал систему, в которой буквы алфавита могут быть сведены к последовательностям двоичных цифр, которые в свою очередь могут быть закодированы как едва заметные изменения шрифта в любых случайных текстах. Важным шагом в становлении общей теории двоичного кодирования является замечание о том, что указанный метод может быть использован применительно к любым объектам (Шифр Бэкона)[2].
Современная двоичная система была полностью описана Лейбницем в XVII веке в работе Explication de l’Arithmétique Binaire. В системе счисления Лейбница были использованы цифры 0 и 1, как и в современной двоичной системе. Как человек, увлекающийся китайской культурой, Лейбниц знал о книге Перемен и заметил, что гексаграммы соответствуют двоичным числам от 0 до 111111.
В 1854 году английский математик Джордж Буль опубликовал знаковую работу, описывающую алгебраические системы применительно к логике, которая в настоящее время известна как булева алгебра или алгебра логики[3].
В 1937 году Клод Шеннон представил к защите кандидатскую диссертацию «Символический анализ релейных и переключательных схем», в которой булева алгебра и двоичная арифметика были использованы применительно к релейно-контактным схемам. На диссертации Шеннона по существу основана вся современная цифровая техника.
В ноябре 1937 года Джордж Штибиц, впоследствии работавший в Bell Labs, создал на базе реле двоичный полусумматор «Model K Аdder», который выполнял двоичное сложение. В конце 1938 года Bell Labs развернула исследовательскую программу во главе со Штибицом. Созданный под его руководством калькулятор комплексных чисел, завершённый 8 января 1940 года, умел выполнять операции с комплексными числами[4].
Во время демонстрации на конференции American Mathematical Society в Дартмутском колледже 11 сентября 1940 года Штибиц продемонстрировал возможность посылки команд удалённому калькулятору комплексных чисел по телефонной линии с использованием телетайпа. Это была первая попытка использования удалённой вычислительной машины посредством телефонной линии. Среди участников конференции, бывших свидетелями демонстрации, были Джон фон Нейман, Джон Мокли и Норберт Винер[5].
В 1938 году немецкий инженер Конрад Цузе завершает разработку устройства под названием Z1. Это был механический вычислитель с электрическим приводом и с использованием электромеханических реле. Он был программируемым и использовал двоичную систему счисления[6].
Представление двоичных чисел
Чтобы обозначить, в какой системе счисления записано число, его снабжают указателем справа внизу. Например, запись числа 5 в десятичной форме обозначают как 510 и то же число в двоичной форме записи обозначают как 1012. В двоичной системе счисления (как и в других системах счисления, кроме десятичной) знаки читаются по одному. Например, число 1012 произносится «один ноль один».
Натуральные числа
В общем виде натуральное число, записываемое в двоичной системе счисления как , выглядит следующим образом:
где:
- — количество цифр (знаков) в числе,
- — значения цифр из множества {0,1},
- — порядковый номер позиции цифры (вес разряда).
Таким образом, по общему правилу представления числа в позиционной системе счисления, двоичное число в развёрнутом виде выглядит как сумма произведений числовых значений цифр из множества {0,1} на степень основания, то есть числа 2. Значение степени определяется порядковым номером позиции (разряда) справа налево, начиная с нулевой.
Например: 1012 = (1·22 + 0·21 + 1·20)10
Отрицательные числа
Отрицательные двоичные числа обозначаются так же как и десятичные: знаком «—» перед числом. А именно, отрицательное целое число в двоичной системе счисления выглядит следующим образом:
В вычислительной технике широко используется запись отрицательных двоичных чисел в дополнительном коде (обратный код числа, дополненный единицей в младшем разряде).
Дробные числа
Дробное число, записываемое в двоичной системе счисления как , имеет вид:
где:
- — количество цифр дробной части числа,
- — значения цифр из множества {0,1}.
Веса цифр дробной части равны отрицательным степенями двойки, например:
- 101,1012 = (1·22 + 0·21 + 1·20 + 1·2–1 + 0·2–2 + 1·2–3)10 = 5,62510
При этом в виде конечных дробей в двоичной системе счисления можно записать только такие рациональные числа, где знаменатель является степенью двойки, другие же рациональные числа представляются в виде бесконечных двоичных дробей[7].
Арифметические действия над двоичными числами
В двоичной системе счисления арифметические операции выполняются по тем же правилам, что и во всех позиционных системах[8].
Правила сложения и вычитания
- Правило сложения одноразрядных двоичных чисел
0 + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 = 10 (в младший разряд записывается ноль с переносом единицы в старший разряд)
При сложении многоразрядных чисел применяется правило поразрядного сложения.
Например, при сложении чисел (13 + 5)10 = (1101 + 101)2 в результате получаем число 100102 = 1810:
1101 + 101 ------ 10010
- Правило вычитания одноразрядных двоичных чисел
0 − 0 = 0 1 − 0 = 1 1 − 1 = 0 0 − 1 = 1 (при вычитании из нуля единицы происходит заём единицы из старшего разряда)
При вычитании многоразрядных чисел применяется правило поразрядного вычитания.
Например, при вычитании чисел (18 − 5)10 = (10010 − 101)2 в результате получаем число 11102 = 1310
1110 — 101 ---- 1001
Правила умножения и деления
- Правило умножения одноразрядных двоичных чисел
0 × 0 = 0 1 × 0 = 0 0 × 1 = 0 1 × 1 = 1
При умножении многоразрядных чисел применяется правило поразрядного умножения с последующим сложением результатов (умножение «в столбик»)
Например, при умножении чисел (14 × 2)10 = (1110 × 10)2 в результате получаем число 111102 = 2810
1110 × 10 ------ + 0000 1110 ------ 11100
- При делении также необходимо выполнять промежуточные действия, каковыми являются умножение и вычитание (деление «в столбик»).
Например, при делении чисел (30 : 6)10 = (11110 × 110)2 в результате получаем число 1012 = 510
11110| 110 | --- −110 | 101 --- 110 −110 --- 0
При выполнении операции деления достаточно часто встречается ситуация, когда в результате деления получается дробное число, причем дробь может оказаться бесконечной. В этом случае деление продолжается либо до получения заранее заданного количества цифр в дробной части, либо до тех пор, пока не появится повторяющаяся последовательность цифр.
Преобразование чисел из двоичной системы счисления в десятичную
Преобразовать число из двоичной системы счисления в десятичную можно следующим образом: каждый разряд двоичного числа необходимо умножить на 2n, где n - номер разряда, начиная с 0. Затем суммировать полученные значения[9].
Допустим, дано двоичное число 110001. Для перевода в десятичное число необходимо представить его в развёрнутом виде следующим образом:
- 1100012 = (1·25 + 1·24 + 0·23 + 0·22 + 0·21 + 1·20)10
далее произвести суммирование тех разрядов, где произведение не равно нулю:
- (32 + 16 + 1)10 = 4910
Преобразование дробных двоичных чисел в десятичные
Преобразование дробных двоичных чисел в десятичные производится по тому же правилу с учётом того, что дробная часть двоичного числа представлена разрядами с отрицательными степенями двойки. Например, преобразуем дробное двоичное число 1011010,101 в форму десятичного числа:
- 1011010,1012 = (1·26 + 0·25 + 1·24 + 1·23 + 0·22 + 1·21 + 0·20 + 1·2−1 + 0·2−2 + 1·2−3)10 = (64 + 16 + 8 + 2 + 0,5 + 0,125 )10 = 90,62510
Для удобства перевода целой части двоичного числа можно воспользоваться таблицей десятичных значений степеней двойки (до значения 210)
210 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Перевод дробной части методом Горнера
Этот метод также называют синтетическим делением[10]. Результат, полученный в качестве первого действия, используют как исходную часть для следующего и так далее в форме последовательных переходов.
Рассмотрим перевод двоичной дроби 0,1012 в форму десятичной дроби. Ступеней деления будет столько, сколько знаков в двоичном числе после запятой, делителем является основание системы счисления, то есть в данном случае число два:
1. (0 + 1)/2 = 0,5 2. (0,5 + 0)/2 = 0,25 (в качестве слагаемого используется результат предыдущей ступени деления = 0,5) 3. (0,25 + 1)/2 = 0,625 (в качестве слагаемого используется результат предыдущей ступени деления = 0,25)
Ответом будет результат последнего перехода, то есть 0,1012= 0,62510
Преобразование десятичных чисел в двоичные
Одним из алгоритмов перевода десятичного числа в двоичное является деление нацело на 2 с последующим «сбором» двоичного числа из остатков деления. Например, для перевода десятичного числа 14 в двоичное представление необходимо выполнить следующие действия[9]:
14 / 2 = 7, остаток 0 — младший разряд двоичного числа 7 / 2 = 3, остаток 1 3 / 2 = 1, остаток 1 1 / 2 = 0, остаток 1 — старший разряд двоичного числа
Таким образом, результат преобразования будет следующим: 1410 = 11102
Преобразование дробных десятичных чисел в двоичные
Если в исходном числе есть целая часть, то она преобразуется отдельно от дробной. Перевод дробного числа из десятичной системы счисления в двоичную осуществляется по следующему алгоритму:
- дробь умножается на основание двоичной системы счисления (2);
- в полученном произведении выделяется целая часть, которая принимается в качестве старшего разряда числа в двоичной системе счисления;
- в следующем шаге полученная в результате произведения дробная часть опять умножается на 2;
- алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений.
Например, для перевода дробного десятичного числа 206,625 в дробное двоичное число необходимо выполнить следующие действия:
- производим перевод целой части, где в итоге получаем 20610 = 110011102;
- далее действуем в соответствии с алгоритмом перевода дробной части; целые части произведений, полученных в каждом шаге (выделены жирным шрифтом), являются разрядами искомой дробной части:
0,625·2 = 1,25 0,25·2 = 0,5 0,5·2 = 1,0
Таким образом, получаем значение дробной части 0,62510 = 1012 и в целом имеем результат: 206,62510 = 11001110,1012
Применение двоичных чисел
Благодаря тому, что множеству символов {0,1} можно сопоставить два устойчивых состояния электронных вентилей «выключено/включено», основное применение двоичная система счисления нашла в вычислительной технике, в цифровых системах контроля и управления. Ядром любого процессора является арифметико-логическое устройство (АЛУ), которое воспринимает управляющие сигналы и операнды в виде двоичных кодов и чисел. Результаты обработки информации также формируются в виде двоичных чисел и результатов логических сопряжений. Этот процесс развился потому, что двоичные сигналы имеют высокую надёжность при передаче и хранении информации, а правила выполнения команд просты и удобны.
Литература
Босова Л. Л., Босова А. Ю. Информатика. Учебник для 8 класса / Вед.редактор Полежаева О. — М.: «Бином», 2013. — 155 с. — ISBN 978-5-9963-1166-8. Шаманов А. П. Системы счисления и представление чисел в ЭВМ. Учебное пособие . — Екатеринбург: Уральский университет, 2016. — 52 с. — ISBN 978-5-7996-1719-6.
Примечания
- ↑ Двоичная система счисления // Большая советская энциклопедия : [в 30 т.] / гл. ред. А. М. Прохоров. — 3-е изд. — М. : Советская энциклопедия, 1969—1978.
- ↑ Развитие обучения . Дата обращения: 31 марта 2024. Архивировано 18 марта 2017 года.
- ↑ Буль Джордж. An investigation of the laws of thought (Исследование законов мышления) (англ.). — London: Walter and Maberly, Cambridge: MacMillan and Co, 1854. — 424 p.
- ↑ George Stibitz (англ.) // History-Computer. — Обновлено: 31 июля 2023 г.
- ↑ George Robert Stibitz (англ.). History Committee IEEE. Дата обращения: 2 апреля 2024.
- ↑ Появление первого механического, частично программируемого компьютера Z1 . История компьютеров. Дата обращения: 2 апреля 2024.
- ↑ Представление дробных чисел в двоичной системе счисления . Сайт server.179.ru. Дата обращения: 1 апреля 2024.
- ↑ Арифметические операции в двоичной системе счисления . Планета информатики. Дата обращения: 1 апреля 2024.
- ↑ 9,0 9,1 Шаманов А. П., 2016.
- ↑ Схема Горнера . Дата обращения: 1 апреля 2024.
Данная статья имеет статус «проверенной». Это говорит о том, что статья была проверена экспертом |