01. Цели изучения курса информатики и ИКТ. Техника безопасности и организация рабочего места (полный урок)
12 мин
02. Общие сведения о системах счисления
21 мин
03. Двоичная система счисления. Двоичная арифметика
22 мин
04. Качественные и количественные характеристики информации
18 мин
05. Операции над двоичными числами. Измерение информации. Системы кодирования информации
7 мин
06. Защита информации. Информатизация и информационно-технологическая культура
07. Модели, их назначение, свойства и виды
9 мин
08. Информационные (нематериальные) модели. Компьютерное моделирование
22 мин
09. Восьмеричная и шестнадцатеричная системы счисления. Компьютерные системы счисления
19 мин
10. Перевод десятичных чисел в систему счисления с основанием Q. Арифметические действия в системах счисления
25 мин
11. Представление целых чисел. Представление вещественных чисел
32 мин
12. Элементы алгебры логики
19 мин
13. Логические операции. Таблицы истинности
36 мин
14. Логические операции следования и равносильности. Законы алгебры логики
18 мин
15. Решение логических задач
18 мин
16. Способы записи алгоритмов
24 мин
Видео доступно по абонементу
В информационных технологиях основной является двоичная система счисления. Почему именно она? Ответ достаточно прост: её можно реализовать в электронике, так как в случае фиксации работы микросхем или транзисторов учитываются два устойчивых состояния. Если взять какое-либо устройство, то 0 или 1 могут обозначать отсутствие или наличие какого-либо физического явления. Пример: наличие или отсутствие электрического заряда, наличие или отсутствие напряжения, наличие или отсутствие тока и тому подобное.
Как мы помним из предыдущего урока, десятичная система счисления, как и двоичная, является позиционной, где каждый разряд имеет свой чёткий смысл: правый разряд — единицы, следующий — десятки (для десятичной системы) и так далее. Дальше мы подробнее объясним, что это значит.
В непозиционной системе счисления нам бы пришлось записывать числа с помощью комбинации различных знаков, при этом даже близкие по значению числа могли бы существенно отличаться. К тому же с помощью одного и того же знака мы бы не смогли обозначить разный смысл в числе: например, если бы десятичная система счисления была непозиционной, то число 15 означало бы 1 + 5 = 6. Согласитесь, неудобно каждый раз считать значение числа, особенно если оно записано большим количеством знаков. Попробуем по этому же правилу посчитать, чему равно число 98749. Получилось 37, но мы при этом затратили определённое время и могли ошибиться в расчётах. К тому же потратили большое количество знаков для записи сравнительно небольшого числа.
В отличие от общепринятой десятичной системы счисления, которая содержит 10 цифр для записи числа, двоичная имеет всего 2 цифры, а именно 0 и 1, которые и составляют её алфавит. Таким образом, основанием двоичной системы счисления будет также 2. Как вы, наверное, уже поняли, название позиционной системы содержит в себе информацию о количестве цифр в её алфавите: двоичная — 2, десятичная — 10 и так далее.
Пример. 1010102 — это запись числа 4210 в системе счисления по основанию 2, то есть в двоичной. В данном примере 1010102 является свёрнутой формой записи числа.
В позиционной системе, как мы уже знаем, каждая цифра соответствует определённому разряду. А разряд определяет, на какую степень основания системы нужно умножить значение цифры.
Например, число 567 = 5 · 102 + 6 · 101 + 7 · 100. Такой формат, где мы явно указываем степени основания системы счисления для каждого разряда, называется развёрнутой формой записи числа. Но в позиционной системе счисления нет необходимости явно указывать степени каждого разряда, поэтому мы просто записываем число в виде ряда цифр — это и называется свёрнутой формой записи числа.
Свёрнутая система записи чисел проще для восприятия, и как раз её мы используем в повседневной жизни. Любые десятичные числа, которыми мы привыкли пользоваться, также записываются в свёрнутом виде, например, 5510 — это число, состоящее из 5 десятков и 5 единиц.
Вернёмся к развёрнутой форме записи числа в позиционных системах счисления. Для того чтобы преобразовать число из свёрнутой в развёрнутую форму, необходимо выполнить следующие шаги.
Пронумеровать все цифры справа налево, начав нумерацию с нуля.
Умножить каждую цифру на основание системы счисления, возведённое в степень согласно порядковому номеру разряда.
По этому алгоритму попробуем преобразовать число 1010102 в развёрнутую форму. Нумеруем цифры справа налево. Это двоичная система счисления, о чём говорит число внизу, — значит, возводим два в степень номера и умножаем на соответствующую цифру. Получаем: 1 · 25 + 0 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20.
Может возникнуть резонный вопрос: как можно сопоставить числа в двоичной и десятичной системах счисления? Мы сейчас будем рассматривать только свёрнутые формы:
Но как же получить двоичное представление десятичного числа? Можно начать с подбора. Тогда, например, число 16 будет равно 24 или 100002, а число 32 = 25 = 1000002. Зная это, можно посчитать, например, число 17 как 16 + 1 = 100002 + 12 = 100012, а число 34 как 32 + 2 = 1000002 + 102 = 1000102. Но как, например, представить тогда число 48? Здесь уже сложнее: придётся посчитать его как сумму степеней двойки в двоичной системе счисления:
48 = 32 + 16 = 25 + 24 = 1100002.
Но каждый раз так делать неудобно, да и к тому же как составить чёткий алгоритм, который можно запрограммировать на компьютере? Подбор здесь не подойдёт.
Если говорить о переводе из двоичной системы в десятичную, то мы по сути уже умеем это делать, записывая число в развёрнутой форме. Для этого возьмём число 1010102 и алгоритм, описанный ранее, но добавим ещё один пункт, а именно, сложение полученных произведений:
1010102 = 1 · 25 + 0 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 = 32 + 0 + 8 + 0 + 2 + 0 = 4210.
Таким образом, мы смогли перевести число из двоичной системы счисления в десятичную. В таком виде вычисление десятичного значения — достаточно несложная операция, которую легко можно поручить компьютеру. Но вот задача преобразования из десятичной системы в двоичную выглядит сложнее.
Для быстрого перевода чисел из двоичной системы счисления в десятичную желательно запомнить основные значения степеней двойки.
Конечно, можно просто последовательно получать значения, умножая предыдущее на 2: 2 на 2 — четыре, 4 на 2 — восемь и так далее. Но быстрее будет запомнить степени. Можно не все, а лишь промежуточные. Например, 25 = 32, 210 = 1024. А другие степени — уже вычислять. Например, сразу получим, что 211 = 1024 · 2 = 2048. А 29 = 1024 : 2 = 512.
Степень | Значение |
0 | 1 |
1 | 2 |
2 | 4 |
3 | 8 |
4 | 16 |
5 | 32 |
6 | 64 |
7 | 128 |
8 | 256 |
9 | 512 |
10 | 1024 |
11 | 2048 |
12 | 4096 |
13 | 8192 |
14 | 16 384 |
15 | 32 768 |
16 | 65 536 |
Таблица 1. Степени числа 2
Для начала рассмотрим пример разложения на разряды десятичного числа.
Число 564 можно представить в развёрнутой форме: 5 · 102 + 6 · 101 + 4 · 100.
Попробуем предположить, что каждый разряд такого числа можно вычислить с помощью деления с остатком на основание системы счисления. Тогда получим:
564 : 10 = 56, остаток 4;
56 : 10 = 5, остаток 6;
5 : 10 = 0, остаток 5.
Таким образом, с помощью деления с остатком на основание системы счисления мы получили поочерёдно все разряды десятичного числа. Останется их только выписать в обратном порядке, начиная с последнего: 5, 6, 4 = 564.
В случае перевода из десятичной системы в двоичную нам потребуется воспользоваться таким же алгоритмом, только делить будем не на 10, а на 2, ведь основание двоичной системы счисления равно двум. Получаем следующий алгоритм:
Шаг 1. Последовательно делим данное число и получаемые частные на 2 с остатком. Продолжаем до тех пор, пока не получим частное, равное нулю.
Шаг 2. Полученные остатки, являющиеся цифрами числа в двоичной системе, приводим в соответствие алфавиту.
Шаг 3. Из остатков составляем число в двоичной системе. Записываем его, начиная с последнего остатка.
Возьмём для примера число 42 и получим представление этого числа в двоичной системе счисления.
Шаг 1. Последовательно делим число на 2 с остатком.
42 : 2 = 21, остаток 0.
21 : 2 = 10, остаток 1.
10 : 2 = 5, остаток 0.
5 : 2 = 2, остаток 1.
2 : 2 = 1, остаток 0.
1 : 2 = 0, остаток 1.
Получили в частном ноль, значит, первый шаг закончился.
Шаг 2. Приводим остатки в соответствие алфавиту. Тут всё остаётся без изменений, так как в двоичном алфавите как раз есть цифры 0 и 1.
Шаг 3. Записываем остатки справа налево. Получаем число 1010102.
Возможно, второй шаг кажется бессмысленным и непонятным. Но стоит учесть, что деление в столбик мы выполняем в десятичной системе. И все результаты, которые мы получаем, в том числе остатки, тоже записаны в десятичной системе. А в результате мы хотим получить цифры из двоичной системы. Поэтому в ней и нужно записать остатки.
В случае двоичной системы это никак не повлияет на них, ведь двоичный алфавит состоит из цифр, которые есть и в десятичном. Но важно, что этот алгоритм мы можем расширить и для других систем счисления. И если в их алфавите не будет тех цифр, которые есть в десятичном, то этот шаг будет важным. С этим вы столкнётесь при изучении шестнадцатеричной системы счисления.
В десятичной системе счисления мы умеем выполнять 4 базовых арифметических действия, а именно: сложение, вычитание, умножение и деление. Эти арифметические действия мы изучаем с первого класса, и основные их правила ясны.
Но как же их применять, если мы используем систему, отличную от десятичной?
Первым правилом является перевод чисел в систему счисления с одним и тем же основанием, иначе производить арифметические действия будет достаточно проблематично.
В математике, например, мы всегда работаем в одних и тех же единицах измерения. Когда складываем 3 + 4, то по умолчанию понимаем, что речь идёт о количествах одного и того же вида: не получится сложить 3 километра и 4 сантиметра — 3 + 4 = 7. Сложить-то можно, но с совершенно другим результатом.
Или когда складываем 1/4 + 1/5, то всегда подразумеваем, что речь идёт о частях одного и того же количества.
Так же и с системами счисления — всегда нужно работать в одной системе для выполнения каких-то действий с числами. Самый очевидный способ здесь — перевести все числа в десятичную систему, поскольку с ней мы хорошо умеем работать, к тому же умеем переводить из других систем в десятичную.
Но иногда бывает нужно оперировать, например, двумя двоичными числами. В этом случае мы, конечно, можем перевести каждое из них в десятичную систему счисления, а затем сложить, но для этого потребуется три операции. Если мы научимся складывать числа в двоичной системе, то понадобится всего одна.
Может показаться, что разница невелика. Но представьте, что речь идёт о процессоре, который выполняет миллионы однотипных операций в секунду. И тогда каждая дополнительная операция будет означать существенное увеличение нагрузки на него, а в итоге — снижение производительности вычислений. Поэтому важно уметь считать в разных системах счисления, не переводя числа в десятичную.
Сложение двоичных чисел
В случае с операцией сложения можно воспользоваться следующим правилом: если сумма складываемых цифр больше или равна основанию системы счисления, то единица переносится в следующий слева разряд. Мы привыкли так делать в десятичной системе при суммировании столбиком, и для нас это естественно. Однако это очень важный момент, о котором нужно помнить всегда, особенно когда приходится перестраиваться в другие системы счисления. В других системах это правило также сохраняется.
Перед тем как перейти к примеру суммирования чисел в двоичной системе, рассмотрим таблицу сложения в двоичной системе:
Если сложить ноль с нулём, в результате также получится ноль. При сложении нуля и единицы получается единица. Но при сложении двух единиц результатом уже является двухразрядное число — 102. Если будет необходимо сложить две единицы, то ноль из результата сложения уйдёт в разряд суммы, а единицу мы запишем в разряд переполнения и используем при следующих вычислениях точно так же, как и в десятичной системе счисления.
Пример. Сложим два двоичных числа: 1111 + 110. Для удобства допишем ноль перед вторым числом, чтобы числа были одинаковой длины.
Начинаем справа:
1 + 0 = 1;
1 + 1 — 0 пишем, 1 переносим в следующий разряд;
1 + 1 + 1 = 3 (в двоичной системе это 11), 1 пишем, 1 переносим;
1 + 1 — 0 пишем, 1 переносим в следующий разряд.
Получаем 10101.
Вычитание двоичных чисел
В случае с операцией вычитания в целом используются те же правила, что и в десятичной системе, а именно: при вычитании из меньшего числа большего производится заём из старшего разряда.
Пример: выполним вычитание двоичных чисел: 1010100 – 1000010.
Начинаем справа:
0 – 0 = 0;
0 – 1 — вычесть не можем, занимаем единицы в следующем разряде, 10 – 1 = 1;
в следующем разряде уже 0 – 0 = 0;
дальше аналогично: 1 – 0 = 1, 0 – 0 = 0, 1 – 1 = 0.
Нули в начале не пишем, поэтому получаем 10010.
Умножение двоичных чисел
Операция умножения производится аналогично десятичной системе с использованием правила последовательного умножения множимого на очередную цифру множителя. В десятичной системе счисления при изучении операции умножения мы учим наизусть таблицу умножения. Но, как вам должно быть известно, существует таблица Пифагора, которая представляет собой более удобную форму записи таблицы умножения.
В таблице Пифагора строки и столбцы обозначают множители, а их пересечение — результат умножения.
В двоичной системе существует такая же таблица умножения, как и таблица Пифагора для десятичной:
Первая строка и первый столбец — множители, а остальные ячейки этой таблицы — результат их умножения. Как видно из таблицы, единицу при умножении можно получить, только умножив две единицы, что достаточно логично и совпадает с десятичной системой, ведь если умножить число на ноль, получится ноль.
Разберём пример, умножим двоичные числа 1111 и 1100.
Как и в десятичной системе, нули в конце можем вынести отдельно, ведь умножение на них даст 0. Потом допишем их в ответе.
При умножении на 1 получим то же число, запишем 1111, и второй раз, но уже под соседним разрядом: 1111. Осталось сложить эти 2 числа. Попробуйте сделать это самостоятельно. Получится 101101. Не забудем дописать два нуля. В итоге получим 10110100.
Деление двоичных чисел
Деление также производится аналогично десятичной системе. Необходимо на первом шаге взять из делимого столько же разрядов, сколько в делителе, а частное записать в ответ. Далее к остатку от деления снести один разряд из делимого. Если полученное число меньше делителя, то к ответу дописать ноль и снести следующий разряд делимого. Рассмотрим на примере деления 10102 на 102. В десятичной системе — это деление 10 на 2.
Первые два разряда делимого 102 делим на 102. Получаем 1, записываем в ответ. Остаток от деления равен нулю.
Сносим следующий разряд делимого к остатку, получаем 012. Это число нельзя разделить на 102, поэтому к ответу дописываем ноль.
Сносим следующий разряд делимого, получаем 0102. Делим это число на 102, получаем 1, дописываем к ответу.
В делимом больше не осталось доступных для сноса разрядов, при этом остаток от предыдущего шага равен нулю, значит, деление делимого на делитель завершено, причём без остатка.
Получилось 1012 = 510.
Мы изучили, что собой представляет двоичная система счисления, как осуществляется запись чисел с её помощью, как реализуются арифметические операции в ней.
Изобретение двоичной системы счисления внесло огромный вклад в развитие человечества. Именно простая реализация двоичной арифметики позволила создать все современные вычислительные устройства. Для понимания этого достаточно сравнить, как складываются в столбик десятичные и двоичные числа. К тому же вспомните, сколько времени у вас заняло выучить таблицу умножения десятичных чисел, а затем сравните с такой же таблицей для двоичной системы. В двоичной системе и запоминать толком ничего не приходится.
Список литературы
Информатика: 8 класс: базовый уровень: учебник / Л. Л. Босова, А. Ю. Босова. — М.: Просвещение, 2025.
Домашнее задание
Что собой представляет алфавит двоичной системы счисления?
Как получить развёрнутую форму записи двоичного числа?
Какая арифметическая операция используется для перевода целого десятичного числа в двоичную систему счисления?
Что нужно сделать для выполнения арифметических действий над числами, записанными в позиционных счислениях с разным основанием?
Переведите число 10010 в двоичную систему счисления.
Переведите число 1001112 в десятичную систему счисления.
Выполните сложение, вычитание, умножение и деление двоичных чисел 11001 и 101.