- •Дидактический план
- •Литература Основная
- •Дополнительная
- •Перечень умений
- •Тематический обзор* введение. Предмет дискретной математики
- •1. Способы задания множества
- •1.1. Множество. Подмножество. Универсальное множество
- •1.2. Операции над множествами: пересечение, объединение, разность, дополнение
- •1.3. Порождающая процедура
- •1.4. Декартово произведение множеств
- •2. Функциональные соответствия
- •2.1. Соответствие между множествами
- •2.2. Взаимно однозначное соответствие
- •2.3. Числовые и точечные промежутки
- •2.4. Суперпозиция функций
- •2.5. Схемы из функциональных элементов
- •3. Алгебраические операции
- •3.1. Операции на множестве
- •3.2. Ассоциативные и коммутативные операции
- •3.3. Двоичная система счисления
- •3.4. Проценты
- •4. Бинарные отношения
- •4.1. Отношения на множествах
- •4.2. Рефлексивные, симметричные, транзитивные отношения
- •4.3. Отношения эквивалентности
- •4.4. Отношения порядка
- •Приложения
- •Примеры решения задач
- •О мощности множеств действительных чисел
- •Двоичный 5-мерный куб
- •Задания для самостоятельной работы
- •1. Составьте логическую схему базы знаний по теме юниты:
- •2. Решить задачи 1–10.
- •Тренинг умений Пример выполнения упражнения тренинга на умение № 1 Задание
- •Решение
- •Пример выполнения упражнения тренинга на умение № 2 Задание
- •Пример выполнения упражнения тренинга на умение № 3 Задание
- •Пример выполнения упражнения тренинга на умение № 4 Задание
- •Пример выполнения упражнения тренинга на умение № 5 Задание
- •Решение
- •Пример выполнения упражнения тренинга на умение № 6 Задание
- •Решение
- •Глоссарий
- •Дискретная математика юнита 1
3.3. Двоичная система счисления
1. Хорошо известен способ записи чисел в десятичной системе. Эта система называется позиционной десятичной, потому что натуральное число представляется словом в алфавите из десяти арабских цифр Ц10 = [0, 1, 2, 3, ..., 9], причем знаки числа изображают различные его составляющие в зависимости от разряда – позиции в числе и служат коэффициентами при степенях основания – числа 10. Например, 48087 = 40000 + 8000 + 80 + 7 = 4 104 + 8 103 + + 0 102 + 8 101 + 7 100, и цифра 8 во втором разряде изображает число 80, а та же цифра в четвертом разряде – число 8000. Позиционная система исторически вытеснила другие способы представления чисел благодаря удобствам использования, главным образом, из-за достаточно простых алгоритмов арифметических действий над многозначными числами, которые сводятся к действиям над однозначными числами. При этом используются таблица сложения, т.е. правила типа 3 + 6 = 9, 4 + 8 = 12 и т.п., общеизвестная таблица умножения и – при сложении и умножении столбиком – правила переноса десятков в старшие разряды («шестью девять – пятьдесят четыре; четыре пишем, пять в уме»). Отметим, что при сложении столбиком справа налево двух слагаемых каждый очередной знак суммы определяется знаками слагаемых в этом разряде с учетом знака переноса (0, если сумма не превышает 9, или 1, если сумма двузначная). При умножении многозначных чисел A B столбиком каждое умножение A на однозначное число, каким является очередной разряд числа B, также сопровождается переносом числа десятков в следующий разряд. Далее следует сложение нескольких многозначных чисел, записываемых со сдвигом. При сложении большого количества чисел может возникать накопление знаков переноса.
Важно заметить, что как при сложении, так и при умножении каждый знак результата зависит от знаков слагаемых/сомножителей, находящихся в том же разряде и правее, и не зависит от старших разрядов (находящихся левее). Так, младший разряд результата является функцией двух однозначных чисел – младших разрядов слагаемых/сомножителей. Второй справа разряд есть функция четырех однозначных переменных – знаков двух младших разрядов слагаемых/сомножителей и т.д.
2. Таким же образом, только много проще, устроена двоичная система счисления. Числа представляются словами в алфавите Ц2 = [0, 1], и например, 1101001012 = 28 + 27 + 25 + 22 + 20 = = (256 + 128 + 32 + 4 + 1)10 = 42110 (подстрочные индексы 2 и 10 обозначают, что одно число записано в двоичной, а другое – в десятичной системе). Вот двоичные представления нескольких первых натуральных чисел (в левом столбце – десятичные; в правом – двоичные):
0 - 0 |
5 - 101 |
11 - 1011 |
16 - 10000 |
1 - 1 |
6 - 110 |
12 - 1100 |
17 – 10001 |
2 - 10 |
7 - 111 |
13 - 1101 |
18 - 10010 |
3 - 11 |
8 - 1000 |
14 - 1110 |
19 – 10011 |
4 - 100 |
9 - 1001 |
15 - 1111 |
и т.д. |
Подобно тому, как в десятичной системе счисления целые степени основания системы 10 записываются единицей с нулями, а число на 1 меньшее – 99...9, в двоичной системе число 10...0 с k нулями изображает число 2k (2, 4, 8, 16,...), а число 11...1 из k единиц равно 2k – 1 (1, 3, 7, 15,...).
Таблица сложения для двоичных чисел чрезвычайно проста:
0 + 0 = 0; 0 + 1 = 1 + 0 = 1; 1 + 1 = 10.
Таблица умножения еще проще:
.
Их можно представить и таблицами с двумя входами:
Отсюда – простота действий над многозначными числами, хотя двоичная запись числа длиннее десятичной более чем втрое. Предыдущий пример демонстрирует перевод двоичного числа в десятичное. Для этого, так же как и для обратного перехода, полезно знать значения шкалы целых степеней числа 2: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 и т.д. Каждое целое число можно однозначно представить в виде суммы различных целых степеней числа 2.
Например, 179 = 128 + 51 = 27 + 32 + 19 = = 27 + 25 + 16 + 3 = 27 + 25 + 24 + 2 + 1, поэтому двоичной записью десятичного числа 17910 будет 101100112 (слагаемые 27, 25, 24, 21, 20 входят в сумму 179 с коэффициентом 1; остальные степени числа 2: 26, 23, 22 – с коэффициентом 0). Ниже – примеры арифметических действий над двоичными числами (параллельно приведены действия с теми же числами в десятичной записи).
Как видим, сложение, вычитание и умножение многозначных двоичных чисел производится так же, как и десятичных, в частности, в обеих системах k-й знак результата арифметических действий зависит от k-х знаков слагаемых (соответственно, сомножителей) и знаков младших разрядов. Однако накопление знаков переноса при сложении возникает здесь значительно чаще: каждые две единицы дают перенос одной единицы в следующий – старший – разряд, сложение четырех единиц дает две единицы переноса, т.е. перенос одной единицы на два разряда влево.
Деление двоичных чисел «столбиком» также намного проще, чем в десятичной системе, поскольку не приходится подбирать очередной знак частного: остаток не должен быть меньше делителя, – в этом случае знак частного 1; в противном случае, как и для десятичных чисел, он равен 0, и нужно приписать к остатку (снести) очередной разряд делимого.
3. Двоичные числа можно рассматривать и как упорядоченные наборы цифр, или, по-другому, слова в двухбуквенном алфавите В = {0, 1}. При этом иногда добавляют нули слева от значащих цифр, например, чтобы уравнять длину двух таких наборов, и можно было бы считать оба набора векторами многомерного арифметического пространства, а сами двоичные цифры - компонентами этих векторов. Тогда результат арифметических действий над двоичными числами также двоичный вектор, возможно иной (для сложения и умножения – большей) размерности.
Среди алгебраических операций над двоичными векторами можно выделить поразрядные операции, например, поразрядное умножение: k-й знак результата равен произведению k-х знаков сомножителей. Другая операция – поразрядная сумма по модулю 2: k-й знак результата равен остатку от деления на два обычной арифметической суммы k-х знаков слагаемых.
Таблица этой операции для однозначных двоичных чисел a b:
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
Значения a b равны 1, если ровно одно из слагаемых равно 1, т.е. если оба слагаемых различны, и равны 0, если оба слагаемых одинаковы.
Если
рассматривать двоичный n-мерный
вектор
как представление характеристической
функции χM
упорядоченного подмножества М
n-элементного
универсального множества
(k-я
компонента вектора равна 1, если k-й
элемент универсального
множества принадлежит множеству М),
то поразрядное произведение
•
двух таких векторов
и
представляет характеристическую функцию
χM∩N
пересечения М1
∩ М2
соответствующих
множеств М1
и М2,
равную χM
•
χN,
а поразрядная
сумма по модулю 2 - вектор
-
характеристическую
функцию χMΔN
симметрической
разности М1
Δ
М2
тех же множеств, равную
χM
χN.
4. Рассмотрим для каждого n (n = 1, 2, 3,...) последовательность Dn всех двоичных наборов длины n в алфавитном порядке, записанную в столбик. На рис. 3.2 - таблицы D1 , D2 , D3.
Рис. 3.2
Если эти наборы из нулей и
единиц прочитать как двоичные числа,
игнорируя начальные нули, то это будет
начальный отрезок натурального ряда
от 0 до 2n-1.
Для любого k < 2n-1
сумма
k-го от начала
числа dk
и k-го
от конца
равна
одному и тому же числу (2n
- 1), которое в двоичной записи состоит
из n единиц. При
вычитании из двоичного числа (2n
- 1) любого меньшего числа не требуется
заимствования единиц из старших разрядов
(подобно вычитанию из числа 99...9 в
десятичной системе), и единице в вычитаемом
соответствует ноль в разности, и наоборот,
нулю в вычитаемом отвечает единица в
разности. Поэтому двоичные знаки числа
dk
противоположны соответствующим знакам
числа
.
Другими словами, таблица Dn
антисимметрична относительно своей
середины.
Таблица Dn, строки которой суть наборы из 0 и 1 длины n, может быть построена по индуктивному правилу (рис. 3.3):
1) таблица D1 – это столбец из двух однозначных чисел 0 и 1;
2) таблица Dk получается из двух экземпляров таблицы Dk-1 (которая состоит из строк длины k-1): к первому из них присоединяется слева столбец из 2k-1 нулей, а ко второму – столбец из 2k-1 единиц. Расположенные одна под другой, обе таблицы образуют таблицу Dk из 2k строк длины k.
Рис. 3.3
