- •Раздел I. Основы теории множеств. Системы счисления. Комбинаторика
- •Глава 1. Множества, операции с ними. Алгебра множеств
- •1.1. Элементы и множества
- •1.2. Отображения, функции, предикаты
- •1.3. Метод математической индукции
- •1.4. Способы задания множеств
- •Перечисление
- •Задание с помощью логических функций (предикатов)
- •1.5. Предметные операции на множествах. Формула множества
- •1.6. Операции сравнения — логические операции с множествами
- •1.7. Алгебра множеств. Ее формулы, теоремы и законы
- •Глава 2. Мощность множеств
- •2.1. Мощность. Счетные множества
- •2.2. Множества мощности континуум
- •Глава 3. Бинарные отношения на множествах
- •3.1. Определение и способы задания отношений
- •3.1.1. Перечисление (список пар)
- •3.1.2. Матрица
- •3.1.3. Задание отношений при помощи предикатов
- •3.2. Аксиомы на отношениях
- •3.3. Основные типы отношений
- •3.3.1. Отношение эквивалентности
- •3.3.2. Отношение нестрогого (частичного) порядка
- •3.3.3. Отношение строгого порядка
- •3.4. Проверка типов отношений. Решение задач
- •Контрольные задания по теме
- •I. Общая теория множеств
- •Глава 4. Системы счисления
- •4.1. Позиционные системы счисления с постоянными основаниями. Представления целых чисел Рассмотрим общие правила представления количественных величин в позиционных системах счисления.
- •4.2. Переводы целых чисел в позиционных системах счисления
- •4.2.1. Перевод целых чисел из произвольной системы с постоянным основанием р 10 в десятичную систему
- •4.2.2. Перевод целых чисел из десятичной системы счисления в системы с произвольными постоянными основаниями p 10
- •4.2.5. Представление двоичной байтовой информации в шестнадцатеричной и десятичной системах
- •4.3. Дробные и смешанные числа в позиционных системах счисления с постоянными основаниями
- •4.3.1 Перевод правильных десятичных дробей в систему счисления с иным основанием p 10
- •4.3.2 Перевод правильных дробей из системы с основанием p 10 в десятичную систему счисления
- •4.4. Арифметические действия с целыми числами в системах с произвольными основаниями. Их компьютерное представление
- •4.4.1 Сложение
- •4.4.2 Вычитание
- •4.4.3. Прямой и дополнительный коды целых чисел. Их представление в памяти компьютера, сложение и вычитание
- •4.5. Двоичные (булевы) векторы
- •4.6. Смешанные позиционные системы счисления. Факториальная система
- •4.6.1. Перевод целых чисел из десятичной системы в смешанную с основаниями р0, р1, ... , рk
- •Глава 5. Комбинаторика
- •5.1. Основная задача комбинаторики. Характеристики комбинаторных задач
- •5.2. Основные правила подсчета чисел комбинаторных множеств
- •5.2.1. Правило сложения
- •5.2.2. Формула включений-исключений
- •5.2.3. Правило умножения
- •5.2.4. Правило учета сходства и различия
- •5.3. Размещения (размещения с повторениями)
- •5.4. Перестановки и размещения без повторений различных объектов. Упорядоченность перестановок
- •5.5. Перестановки и размещения без повторений групп одинаковых объектов
- •5.6. Сочетания
- •5.7. Понятие вероятности
- •Контрольные задания по теме
- •II. Системы счисления. Комбинаторика
4.2.5. Представление двоичной байтовой информации в шестнадцатеричной и десятичной системах
Несмотря на то, что на элементарном уровне физическая память вычислительных устройств имеет битовую структуру, в качестве минимальной адресуемой единицы памяти в современных процессорах и алгоритмических языках принят байт – группа из 23=8 подряд стоящих битов. Каждому байту памяти соответствует уникальный адрес – некоторое целое положительное число. Кроме того, аппаратные и программные средства позволяют одновременно работать с группами, содержащими 2, 4, 8 и более байтов.
Содержимое байта в двоичной системе можно представить двоичным 8-разрядным числом в диапазоне от 0 до 28 – 1 = 255. Для сокращения записи, а также для сокращения действий при переводе содержимое байтов разбивают на две группы по 4 бита – тетрады, каждую из которых можно представить шестнадцатеричным числом, которое может принимать значения из множества {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}.
Пример 10. Перевести в шестнадцатеричную систему счисления двоичное число, задающее содержимое байта: 110010112.
Решение. Разбиваем байт на две тетрады: 11002 и 10112. Применяя замены 11002 = 1210 = С16, 10112 = 1110 = В16, получим: 110010112 = СВ16.
Также шестнадцатеричные числа, формат представления которых есть в основных алгоритмических языках, используют на практике для засылки битовых значений в байтовые массивы. В этом случае двоичную информацию переводят в 16-ричную форму и присваивают данные значения соответствующим байтовым переменным.
Пример 11. Найти 16-ричное число, которое обеспечивает установку в единицу разрядов 0, 3, 5 и 7 байта.
Решение. По сформулированному условию вначале составляем двоичное битовое содержимое байта: 101010012. Переводя тетрады в шестнадцатеричную систему (10102 = А16, 10012 = 916), получим искомое 16-ричное число: 101010012 = А916.
В десятичную форму двоичную байтовую информацию переводят при работе с кодами символов, адресами в компьютерных сетях и др. случаях. Данный переход для сокращения действий проще выполнять через 16-ричную систему счисления. Из двоичной формы в 16-ричную числа переводят по сокращенным правилам, из 16-ричной в десятичную систему перевод производится по общим правилам.
Пример 12. Перевести в десятичную систему IP-адрес, состоящий из 4 октетов (байтов), разделенных точками:
00110110.10110111.11010001.111001012.
Решение. Записываем развернутую форму представления октетов по степеням основания 2, выражаем полученные степени в десятичной системе счисления и суммируем:
001101102 = 1 25 + 1 24 + 1 22 + 1 21 = 3210 + 1610 + 410 + 210 = 5410
101101112 = 1 27 + 1 25 + 1 24 + 1 22 + 1 21 + 1 20 = 12810 + 3210 + 1610 + 410 + 210 + 110 = 18310
110100012 = 1 27 + 1 26 + 1 24 + 1 20 = 12810 + 6410 + 1610 + 110 = = 20910
111001012 = 1 27 + 1 26 + 1 25 + 1 22 + 1 20 = 12810 + 6410 + 3210 + 410 + 110 = 22910
Объединяя полученные десятичные числа, получим искомое десятичное представление IP-адреса:
00110110.10110111.11010001.111001012 = 54.183.209.22916.