- •Тема 1. Системы счисления
- •§1. Перевод чисел из системы счисления с основанием p в десятичную систему счисления
- •§2. Перевод десятичных чисел в систему счисления по основанию p
- •2.1. Перевод целых чисел
- •2.1. Перевод дробных чисел
- •§3. Перевод чисел в системах счисления с основаниями кратными двум
- •§4. Перевод чисел с произвольными основаниями
- •Задания для самостоятельного выполнения:
- •Рекомендации по выполнению заданий для самостоятельного решения
- •Тема 2. Представление чисел в прямом, обратном и дополнительных кодах
- •Прямой код
- •Обратный код
- •Дополнительный код
- •Переполнение разрядной сетки
- •Сложение чисел в прямом, обратном и дополнительном кодах с проверкой в десятичной системе счисления
- •Задания для самостоятельного выполнения:
- •Тема 3. Алгоритмизация.
- •§4.1. Линейная структура алгоритма
- •§4.2. Структура алгоритма «цикл с предусловием»
- •§4.3. Структура алгоритма «цикл с постусловием»
- •§4.4. Структура алгоритма ветвление
- •§4.5. Структура алгоритма сокращенное ветвление
- •§4.6. Структура алгоритма множественный выбор
- •Тема 5. Смешанные структуры алгоритмов.
- •Задания для самостоятельного выполнения:
2.1. Перевод дробных чисел
Правило перевода дробных чисел методом последовательного умножения на основание. Чтобы перевести правильную десятичную дробь 0, Ap из одной системы счисления в другую систему счисления (0, Хq), необходимо:
Шаг 1: 0, Ap умножить на «новое» основание системы счисления q. Целая часть полученного произведения является старшим разрядом после запятой искомой дроби.
Шаг 2: Если полученная дробная часть произведения оказалась равной нулю, то переход на шаг 4, а если нет – процесс умножения продолжается (переход на шаг 1). Следует отметить, что в дальнейшем умножении участвует только дробная часть произведения.
Шаг 3: Если получен период целых частей произведений, то процесс умножения прекращается (переход на шаг 4), а если нет – процесс умножения продолжается (переход на шаг 1).
Шаг 4: Целые части произведения дают искомое изображение 0, Хq числа.
Пример №10. Перевести число Х=0,37510 в двоичную систему счисления.
Для этого: число 0,375 умножаем на основание системы счисления, т.е. на 2, отбросив целую часть ( в данном случае «0»)полученного произведения. Дробная часть произведения (в данном случае «750») не равна нулю, поэтому процесс умножения продолжается. Умножаем «750» на основание системы счисления 2. В результате получилась целая часть равная «1», а дробная часть - «500», поэтому процесс умножения продолжается. В результате следующей итерации результат дробной части оказался равным нулю, поэтому процесс умножения прекращается (см. рис.5). Запись искомого числа в данном случае начинается с «0». В результате получаем ответ 0,0112.
Рис.5 Пример умножения исходного числа на основание системы счисления 2.
Ответ: Х= 0,37510=0,0112
Пример №11. Перевести число Х=21,2510 в двоичную систему счисления.
Для этого необходимо сначала целую часть исходного числа перевести в двоичную систему счисления, а затем дробную - методом последовательного умножения на основание также переведем в двоичную систему счисления (см. рис.6).
Рис.6 Пример деления и умножения исходного дробного числа на основание системы счисления 2.
Ответ: Х= 21,2510=10101,012.
§3. Перевод чисел в системах счисления с основаниями кратными двум
В этом параграфе мы освоим быстрый перевод чисел, основание которых кратно двум 2= 21, 4 = 22, 8 = 23, 16 = 24 и т.д.
В случае, когда происходит перевод чисел с одним кратным основанием в другое кратное основание, процесс перевода заменяется кодировкой. В системе счисления с основанием 4 для записи чисел используется 4 символа {0, 1, 2, 3}, которые можно закодировать двумя разрядами (см.рис.7).
Рис.7. Таблицы соответствия двоичных чисел и чисел в системах счисления по основанию 4, 8, 16.
Если мы работаем с восьмеричной системой счисления, то кодировка осуществляется с помощью триад. Кодирование символов {0, 1, 2, 3, 4, 5, 6, 7} в системе счисления по основанию 8 представлено на рисунке 7.
Кодировка шестнадцати символов {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} осуществляется с помощью тетрад.
При кодировании символов с помощью тетрад и триад, необходимо выполнить переход в систему счисления по основанию 2. Этот процесс можно отразить в виде схемы (см. рис.8). Данная схема поясняет, что перевод в системы счисления с основаниями кратными двум выполняется через двоичную систему счисления.
Рис.8. Схема перевода чисел в системы счисления с основаниями кратными двум.
Процедура перевода через двоичные триады:
Исходное десятичное число перевести в двоичную систему счисления
Разбить двоичное число на группы, состоящие из трех двоичных разрядов (триады) осуществляя разбивку вправо и влево от запятой. Если крайние триады окажутся неполными, их следует дополнить нулями.
Каждой триаде ставится соответствующий ей восьмеричный символ (см. рис.7).
Процедура перевода через двоичные тетрады:
Исходное десятичное число перевести в двоичную систему счисления
Разбить двоичное число на группы, состоящие из четырех двоичных разрядов (тетрады) осуществляя разбивку вправо и влево от запятой. Если крайние тетрады окажутся неполными, их следует дополнить нулями.
Каждой тетраде ставится соответствующий ей шестнадцатеричный символ (см. рис.7).
Например, если необходимо перевести из системы счисления по основанию 16 в четверичную систему счисления, то необходимо выполнить действия отмеченные пунктиром на рисунке 9.
Рис.9. Схема перевода чисел из шестнадцатеричной системы счисления в четверичную.
Рассмотрим следующие примеры.
Пример №12. Перевести число Х= 4F716 в четверичную систему счисления. Для решения данного примера воспользуемся схемой перевода на рисунке 9.
Запишем число Х= 4F716 в двоичной системе счисления, для этого каждый разряд числа Х= 4F716 представим в двоичном коде, а затем полученное двоичное число разобьем на группы состоящие из двух разрядов и каждой группе определим соответствующий ей четвертичный символ.
Ответ: Х=4F716= 1033134
Пример №13. Перевести шестнадцатеричное число Х= 1А57F16 в восьмеричную систему счисления.
Для решения воспользуемся схемой перевода на рисунке 9.
Перевод шестнадцатеричного числа в восьмеричное будем осуществлять через двоичные триады и тетрады.
Запишем число Х= 1А57F16 в двоичной системе счисления, для этого каждый разряд числа Х= 1А57F16 представим в двоичном коде, а затем полученное двоичное число разобьем на триады и каждой триаде определим соответствующий ей восьмеричный символ.
Ответ: Х= 1А57F16 = 3225778
Пример №14. Перевести число Х= 13224 в восьмеричную систему счисления.
Для решения воспользуемся схемой перевода на рисунке 9. Запишем число Х= 13224 в двоичной системе счисления, для этого каждый разряд числа Х= 13224 представим в двоичном коде, а затем полученное двоичное число разобьем на триады и каждой триаде определим соответствующий ей восьмеричный символ.
Ответ: Х= 13224 = 1728
