Двоичная система счисления
Двоичная система — это один из видов позиционных систем счисления. Основание данной системы равно двум, то есть используется только два символа для записи чисел.
Немного истории
Впервые о данной системе чисел заговорил основоположник математического анализа Г.В. Лейбниц еще в XVII веке. Он доказал, что для данного множества действуют все арифметические операции: сложение, вычитание, умножение и даже деление. Однако вплоть до 30-х годов XX века данную систему не рассматривали всерьез. Но с развитием электронных устройств и ЭВМ, ученые вновь принялись к изучению данной темы, так как двоичная система отлично подходила для программирования и организации хранения данных в памяти компьютеров.
Таблица и алфавит
Кроме того, двоичная система является самой удобной для быстрого перевода в другие системы счисления.
1001102 = 1 ∙ 2 5 + 0 ∙ 2 4 + 0 ∙ 2 3 + 1 ∙ 2 2 + 1 ∙ 2 2 + 0 ∙ 2 0 = 32 + 0 + 0 + 4 + 2 + 0 = 3810
Чтобы наоборот перевести число в двоичную из десятичной, необходимо выполнить его деление на 2 с остатком, а затем записать все остатки в обратном порядке, начиная с частного:
Делимое | 38 | 19 | 9 | 4 | 2 |
---|---|---|---|---|---|
Делитель | 2 | 2 | 2 | 2 | 2 |
Частное | 19 | 9 | 4 | 2 | 1 |
Остаток | 0 | 1 | 1 | 0 | 0 |
Для перевода в другие системы необходимо:
Однако можно воспользоваться и более быстрым и удобным способом: разделить знаки двоичного числа на условные группы слева на право (для восьмеричной — по 3 знака; для шестнадцатеричной — по 4 знака), а затем воспользоваться таблицей перевода:
Двоичная | Восьмеричная | Шестнадцатеричная |
---|---|---|
0 | 0 | 0 |
001 | 1 | 1 |
010 | 2 | 2 |
011 | 3 | 3 |
100 | 4 | 4 |
101 | 5 | 5 |
110 | 6 | 6 |
111 | 7 | 7 |
1000 | 8 | |
1001 | 9 | |
1010 | A | |
1011 | B | |
1100 | C | |
1101 | D | |
1110 | E | |
1111 | F |
110010012 = 11 001 001 = 011 001 001 = 3118
110010012 = 1100 1001 = С916
Представление двоичных чисел
В двоичной системе также существует понятие «отрицательных» чисел. И для того, чтобы провести какую-либо операцию с ними в двоичном коде, необходимо представить его в виде дополнительного кода. Запись положительного числа при этом не меняется ни для одного из кодов.
Чтобы найти дополнительный код отрицательного числа, необходимо воспользоваться его прямым и дополнительным кодами.
Прямой код предполагает приписывание единицы в начале без изменений записи:
A > 0 | Aпр = 0A | 1010112; Aпр = 01010112 |
A ≤ 0 | Aпр = 1|A| | -1010112; Aпр = 11010112 |
Для записи обратного кода цифры заменяют на противоположное значение, первую единицу от прямого кода оставляют без изменений:
A > 0 | Aобр = 0A | 1010112; Aобр = 01010112 |
A ≤ 0 | Aобр = 1 A | -1010112; Aобр = 10101002 |
Дополнительный код предполагает использование обратного кода, с той лишь разницей, что к отрицательному числу прибавляют единицу:
A > 0 | Aдоп = 0A | 1010112; Aдоп = 01010112 |
A ≤ 0 | Aдоп = 1 A + 1 | -1010112; Aдоп = 10101012 |
Применение двоичной системы в информатике
Двоичная система получила особое распространение в программировании цифровых устройств, так как она соответствует требованиям многих технических устройств, поддерживающих два состояния (есть ток, нет тока). Кроме того, является более простой и надежной для кодирования информации. Именно поэтому программный код большей части ЭВМ основан именно на двоичной системе счисления.
Двоичная система исчисления
Здравствуйте, в этой статье мы поговорим про такую важную тему, как двоичная система исчисления, называемую также бинарным кодом. Всем, кто хочет идти работать в ай-ти сферу должны обязательно разобраться в этом разделе, а для всех остальных будет полезно ознакомиться для общего развития, с представленной ниже информацией.
Я попытаюсь дать все необходимые понятия, и попытаюсь подробно разжевать их, чтобы у вас не осталось никаких вопросов. Попробую дополнить всё примерами, а самые сложные моменты попытаюсь объяснить на пальцах. После прочтения вы узнаете о представлении чисел в двоичном коде, некоторые особенности и полезные свойства этой системы счисления, отрасли, где она применяется и краткую теорию её становления в информатике.
Экскурс в прошлое
Минимально необходимый теоретический базис
Для того чтобы полностью разобраться с двоичным исчислением нужно разобрать, или повторить основные определения. Это будет фундаментом для того, чтобы вы смогли понять то, что дальше написано. К ним относятся такие понятия как:
Понимая все то, что написано выше, можно перейти к сути вопроса. Итак:
Двоичная система счисления – позиционная система с основанием 2. Для отображения чисел применяется два знака – 0 и 1.
В математике обозначается с помощью нижнего индекса, где указано основание. Выглядит это вот так . Натуральные числа представляются по следующей формуле:
Немного про то, что значат буквы в формуле:
Практика
Без практики объяснить, как этим пользоваться – трудно. Поэтому рассмотрим пару примеров. Однако для начала вам необходимо скачать таблицу, где значения бинарного кода представляются в десятичной форме. Я взял первую попавшуюся таблицу с интернета. Выглядеть она будет примерно так:
Задача 1: Представить 7 в двоичном коде, а потом расписать его с помощью формулы выше.
Для того чтобы это сделать надо:
Как видно из примера здесь нет ничего сложного. Давайте разберем что-нибудь посложнее, да и найдем таблицу посерьезнее. Я взял вот такую:
Задача 2: отобразить 13 в двоичной системе счисления.
Все шаги останутся точно такими же, однако я покажу другой способ для выполнения первого пункта. Принцип тот же, но он кажется мне более удобным.
Получаем что
Смотрим что в таблице:
Далее я приведу несколько свойств, которые вы сможете применить при работе с двоичной системой.
Полезные свойства
Области применения
Заключение
На этом всё, вот вы и познакомились с двоичной системой исчисления. Здесь мы рассмотрели общие положения и научились пользоваться таблицей для проверки результатов. Также вы знаете отрасли применения. Прочитав другие материалы нашего сайта, вы сможете научиться выполнять арифметические операции, и переводить счисление с основанием два в другие нумерации. Например шестнадцатеричную и восьмеричную (основание шестнадцать и восемь). При возникновении вопросов оставляйте их в комментариях.
Двоичная система счисления
Все что-то слышали о двоичной системе счисления, все знают, что это некий «язык компьютеров». Но почему именно так? Почему не пользоваться привычной десятичной системой? В чем, собственно, смысл?
Что такое двоичная система? Это позиционная система счисления с основанием 2. Вот только цифры «два» в ней нет, есть только 0 и 1, и так как цифры две, система называется двоичной (бинарной).
Современный цифровой язык, это ноли и единицы, больше ничего и не нужно. Самое интересное, так называемый машинный код использовался людьми задолго до появления самих машин, а, возможно, даже по появления чисел.
Зачем нужна двоичная система
Двоичная, или бинарная система счисления удобна своей простотой. С помощью комбинации нолей и единиц можно записать любой число и любую букву, что угодно может быть закодировано таким образом.
Но главное, что значения всего два. Это либо «ноль», либо «единица». Сигнал либо есть, либо его нет, свет горит или не горит, есть отверстие или нет (перфокарта), намагничен сектор или размагничен… Аналогии можно приводить бесконечно. Главное, что кодировать сигнал просто. Не нужно создавать сложные механизмы или устройства, достаточно только двух состояний.
Например, еще до того как люди научились считать и писать, сигналы передавались с помощью дыма от костра или ударов в барабаны.
Бинарная система — это просто, ничего проще просто нет. Есть, конечно, и древнейшая унитарная система, где значение всего одно (например, только 1) но с ее помощью нельзя ничего закодировать.
В любой микросхеме транзистор может прибывать в двух положениях «закрыто» или «открыто» (0 или 1) ток пропускается или нет.
Кстати, азбука Морзе — это тоже двоичный код (точка или тире), так же, как и древнейшая сигнальная система — «оптический телеграф». Это это просто огонь костра, который можно закрыть и открыть (огонь есть, или огня нет) ночью, а днем так же использовать дым.
Да, двоичная система используется потому, что с ее помощью удобно кодировать информацию, нужны всего 2 значения. Но удобно ли это считать?
Как считать
Как использовать двоичную систему для записи чисел? Так же как и десятичную. Самым простым примером можно считать кодовый замок, такой как на чемоданах. Каждый диск которого, вращается и может принимать значение от 0 до 9. Достаточно представить, что вместо десяти цифр есть только 2, ноль и единица.
Так как система позиционная, это будет выглядит так:
Сейчас здесь записано число «ноль». Чтобы получилась единица, нужно провернуть крайний правый диск один раз.
Начинается самое интересное, как будет выглядеть число «два»? Крутим правое колесико… И снова получаем 0, ведь других значений нет. Нужно поступить так же, как и в десятичной системе, перенести разряд влево. Только в десятичной, это происходит когда значение превышает 9, а в двоичной сразу после 1.
Двоичная система | Десятичная система |
0 | 0 |
1 | 1 |
10 | 2 |
11 | 3 |
100 | 4 |
101 | 5 |
110 | 6 |
111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | 10 |
Сто в двоичной системе — это 1100100.
Очень интересно в бинарной системе выглядит таблица умножения:
Легко запомнить, неправда ли? 0*0=0, 0*1=0, 1*1=1… И все!
Все математические операции выполняются точно так же
Если сложит в столбик то получается нагляднее
100
Складываем ноли, получаем 0, складываем две единицы, получаем ноль (2 раза провернули диск) и единичку переносим вправо.
Как видите, математика та же, вот только запись чисел неудобная, слишком много нолей и единиц, для человека — неудобно, машине же все равно.
Так же как с цифрами можно поступить с буквами. Латинская буква «a» будет выглядеть как 01001010 кириллическая «а» — 000011100010111000011001, и даже пробел — 00010100.
История создания
Ясно, что человечество пользовалось двоичным кодом очень давно. И сигнальные системы с дымом от костров и даже китайская Книга Перемен (700 лет до нашей эры) с ее гексаграммами известны очень давно. Но окончательно практический смысл бинарный код получил совсем недавно (если не считать азбуку Морзе).
Великий Лейбниц занимался двоичной системой в 17 веке, но применить бинарную систему счисления было особо негде. В том же Веке Паскаль создал свою счетную машину (суммирующую), использующую десятичную систему. Оказалось, что считать на таком «калькуляторе» не так уж и удобно.
Суммирующая машина Паскаля (десятичная)
И только в 40-х годах 20 веке, вместе с появлением первых электронный вычислительных машин двоичный код явил всю свою безусловную полезность и красоту. Именно как машинный язык. Записывать информацию в котором гораздо проще, чем привычными нам средствами, буквами и цифрами.
То же самое, в двоичном коде можно сделать проще
Для чего нужна двоичная система счисления сегодня, мы прекрасно знаем, у каждого в кармане есть смартфон. На самом деле, ноли и единицы используются намного чаще, чем десятичная система, даже если мы, люди, этого и не видим. Не удивительно, мы использовали двоичную систему на протяжении всей истории, но до эры машин даже не замечали этого.
История двоичной системы счисления
Оглавление
I. Понятие двоичной системы счисления…………………………………………………………………..
1.1. История двоичной системы счисления
1.2. Перевод чисел из двоичной системы счисления в десятичную
1.3. Перевод десятичного числа в двоичное
II. Почему удобна двоичная система? ………………………………………………
2.1. Достоинства двоичной системы
2.2. Недостатки двоичной системы
Кто стоит у истоков двоичной системы счисления, как давно и где ее начали применять, почему двоичная система счисления сохранилась до наших дней.
Понятие «число» является ключевым как для математики, так и для информатики. Люди всегда считали и записывали числа, даже 5 тысяч лет назад. Но записывали их по другим правилам, хотя в любом случае число изображалось с помощью любого или нескольких символов, которые назывались цифрами.
Язык чисел, как и любой другой, имеет свой алфавит. В том языке чисел, которым мы обычно пользуемся, алфавитом служат десять цифр – от 0 до 9. Это десятичная система счисления.
Системой счисления мы будем называть способ представления числа символами некоторого алфавита, которые называют цифрами.
Причина, по которой десятичная система счисления стала общепринятой, вовсе не математическая. Десять пальцев рук – вот аппарат для счета, которым человек пользуется с доисторических времен. Древнее написание десятичных цифр:
Понятие двоичной системы счисления.
История двоичной системы счисления.
Мысль о двоичной системе принадлежит Лейбницу, который полагал, что при трудных исследованиях в теории чисел она может иметь большие преимущества перед десятичной системой. Кроме того, при всяких арифметических операциях действия над числами, написанными в бинарной системе, облегчаются в высшей степени. Иезуит Буве (Bouvet), миссионер в Китае, которому Лейбниц писал о своём изобретении, сообщил ему, что в Китае существует загадочная надпись, которую можно вполне объяснить бинарной системой. Надпись эта, которую приписывают императору Фо-ги, жившему в 25 веке до н. э., основателю Китайской империи, покровителю наук и искусств, не могла быть объяснена китайскими учёными, которые считали её не имеющей смысла. Она состоит из ряда длинных и коротких чёрточек. Если принять, что длинная черта означает 1, а короткая 0, то вся надпись оказывается просто рядом натуральных чисел, написанных по двоичной системе. Вот эта надпись:
Двоичная система счисления оказалась удобной для использования в ЭВМ. Использование двоичной системы оказалось наиболее эффективным в электронных схемах: цифры 0 и 1 удобно кодировать уровнями напряжения, соответствующим напряжению на шинах питания, „0“ и „+V“; использование большего количества уровней привело бы к усложнению схем. Хотя были прецеденты создания и троичных ЭВМ.
В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)
Чтобы научиться понимать числа в двоичной системе счисления, сначала рассмотрим, как формируются числа в привычной для нас десятичной системе счисления.
В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.
Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.
Попробуем считать в двоичной системе:
1 – это один (и это предел разряда)
11 – это три (и это снова предел)
1.3. Перевод чисел из двоичной системы счисления в десятичную:
1. 10001001 = 1*2^ <7>+ 0*2^ <6>+ 0*2^ <5>+ 0*2^ <4>+ 0*2^ <3>+ 0*2^ <2>+ 0* 2^ <1>+ 0*2^ <0>= 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137
Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:
2. 1011_ <2>= 1*2^3 + 0*2*2+1*2^1+1*2^0 =1*8 + 1*2+1=11_
3. 10101010_ <2>= 1*2^ <7>+ 0*2^ <6>+ 1*2^ <5>+ 0*2^ <4>+ 1*2^ <3>+ 0*2^ <2>+ 1*2^ <1>+ 0*2^ <0>= 128 + 32 +8 + 2 = 170_
4. 101101_ <2>= 1*2^ <5>+ 0*2^ <4>+ 1*2^ <3>+ 1*2^ <2>+ 0*2^ <1>+ 1*2^ <0>= 63_
5. 100,101_ <2>= 1*2^ <2>+0*2^ <1>+ 0*2^ <0>+ 1*2^ <-1>+ 0*2^ <-2>+ 1*2^ <-3>= 4 + 2 = 6Элементы оглавления не найдены._
6. 111101_ <2>= 1*2^ <5>+ 1*2^ <4>+ 1*2^ <3>+ 1*2^ <2>+ 0*2^ <1>+ 1*2^ <0>= 32 +16 + 13 = 61_
7. 1001_ <2>= 1*2^ <3>+ 0*2^ <2>+ 0*2^ <1>+ 1*2^ <0>= 9
8. 10011,1_ <2>= 1*2^ <4>+ 0*2^ <3>+ 0*2^ <2>+ 1*2^ <1>+ 1*2^ <0>+ 1*2^ <-1>= 19,5
9. 11101,11_ <2>= 1*2^ <5>+ 1*2^ <4>+ 1*2^ <3>+ 0*2^ <1>+1*2^ <0>+ 1*2^ <-1>= 57,5
10. 100111 = 1*2^ <5>+ 0*2^ <4>+ 0*2^ <3>+1*2^ <2>+ 1*2^ <1>+ 1*2^ <0>= 39
1.4. Перевод десятичного числа в двоичное:
Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:
77 / 2 = 38 (1 остаток)
38 / 2 = 19 (0 остаток)
19 / 2 = 9 (1 остаток)
Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:
1. 1001101_ <10>= 1*2^ <6>+ 0*2^ <5>+ 0*2^ <4>+ 1*2^ <3>+ 1*2^ <2>+ 0*2^ <1>+ 1*2^ <0>= 64 + 8 + 5 = 77_
2. 49_ <10>= \dfrac < 49 > < 2 >= 110001_
3. 15_ <10>= \dfrac < 49 > < 2 >= 1111_
4. 31_ <10>= \dfrac < 31 > < 2 >= 11111_
5. 0,45_ <10>= \dfrac < 0,45 > < 2 >= 0,11100_
6. 95_ <10>= \dfrac < 95 > <2 >= 1011111_
7. 102_ <10>= \dfrac <102 > < 2 >= 1100110_
8. 58_ <10>= \dfrac < 58 > < 2 >= 110100_
9. 4956_ <10>= \dfrac < 4956 > < 2 >= 101101011100_
10. 125_ <10>= \dfrac < 125 > < 2 >= 10111101_
2. Почему удобна двоичная система?
Стоит отметить, что двоичная система издавна была предметом пристального внимания ученых. Официальное рождение двоичной системы счисления связано с именем Г.В.Лейбница, опубликовавшего в 1703 г. статью, в которой он рассмотрел правила выполнения арифметических действий над двоичными числами. Во время работы ЭВМ постоянно происходит преобразование чисел из десятичной системы счисления в двоичную, и наоборот. Да и человеку, имеющему дело с ЭВМ, часто приходится прибегать к преобразованиям чисел.
Вот, что писал Лаплас об отношении великого немецкого математика Г.В. Лейбница к двоичной (бинарной) системе: «В своей бинарной арифметике Лейбниц видел прообраз творения. Ему представлялось, что единица представляет божественное начало, а нуль – небытиё и что высшее существо создает все сущее из небытия точно таким же образом, как единица и нуль в его системе выражают все числа».
Главное достоинство двоичной системы – простота алгоритмов сложения, вычитания, умножения и деления. Таблица умножения в ней совсем не требуется ничего запоминать, ведь любое число, умноженное на ноль, равно нулю, а умноженное на единицу равно самому себе. И при этом никаких переносов в следующие разряды, а они есть даже в троичной системе счисления.
Если отвлечься от технических деталей, то именно с помощью этих операций и выполняются все операции в компьютере, так как удалось создать надежно работающие технические устройства, которые могут со 100 процентной надежностью сохранять и распознавать не более двух различных состояний (цифр):
— электромагнитные реле (замкнуто/разомкнуто), широко использовались в конструкциях первых ЭВМ;
— участок поверхности магнитного носителя информации (намагничен/ размагничен);
— участок поверхности лазерного диска (отражает/не отражает);
— триггер, может устойчиво находиться в одном из двух состояний, широко используется в оперативной памяти компьютера.
Утверждение двоичной арифметики в качестве общепринятой при конструкции ЭВМ с программным управлением состоялось под влиянием работы Дж. фон Неймана о проекте первой ЭВМ с хранимой в памяти программой. Работа написана в 1946 году.
2.1. Достоинства двоичной системы счисления:
1. Достоинства двоичной системы счисления заключаются в простоте реализации процессов хранения, передачи и обработки информации на компьютере.
2. Для ее реализации нужны элементы с двумя возможными состояниями, а не с десятью.
3. Представление информации посредством только двух состояний надежно и помехоустойчиво.
4. Возможность применения алгебры логики для выполнения логических преобразований.
5. Двоичная арифметика проще десятичной.
2.2. Недостатки двоичной системы счисления:
1. Итак, код числа, записанного в двоичной системе счисления представляет собой последовательность из 0 и 1. Большие числа занимают достаточно большое число разрядов.
В ходе изучения данной темы мы выяснили, что двоичная система счисления намного старше электронных машин. Двоичной системой счисления люди интересуются давно. Особенно сильным это увлечение было с конца 16 до 19 века. Знаменитый Лейбниц считал двоичную систему счисления простой, удобной, красивой. Даже по его просьбе была выбита медаль в честь этой «диадической» системы (так называли тогда двоичную систему счисления).
Двоичная система счисления наиболее проста и удобна для автоматизации.
Наличие в системе всего лишь двух символов упрощает их преобразование в электрические сигналы.
Из любой системы счисления можно перейти к двоичному коду.
Почти все ЭВМ используют либо непосредственно двоичную систему счисления, либо двоичное кодирование какой-либо другой системы счисления.
Но двоичная система имеет и недостатки:
— ею пользуются только для ЭВМ для внутренней и внешней работы;
— быстрый рост числа разрядов, необходимых для записи чисел.
Библиографический список
1. Нестеренко А.В. ЭВМ и профессия программиста. М.: Просвещение, 1990.
2. Решетников В.Н., Сотников А.Н. Информатика – что это? М.: Радио и связь, 1989.
3. Фомин С.В. Системы счисления. М.: Наука, 1987.
4. Информатика: Системы счисления: спецвыпуск, №42 1995.
5. Информатика: Семинар, №2, №3 2006.
6. Информатика: В мир информатики, №8 2007.