- •Часть 1. Исследование систем счисления и методов конвертирования
- •Часть 2. Кодирование данных в микропроцессорной технике
- •Часть 3. Арифметические операции при обработке данных
- •Лабораторная работа №1. Основы машинной арифметики.
- •Часть 1. Исследование систем счисления и методов конвертирования
- •Содержание отчета
- •1. Введение в системы счисления
- •1.1 Общие положения. Классификация систем счисления
- •1.2 Позиционные системы счисления. Полиномиальное представление чисел
- •1.3 Системы счисления, применяемые в микропроцессорной
- •1.4 Некоторые свойства позиционных однородных систем с естественным множеством цифр
- •2. Преобразование чисел из одной системы счисления в другую
- •2.1 Методы конвертирования
- •2.2 Метод подбора
- •2.3 Метод замещения полиномиальных элементов (поэлементное замещение)
- •2.4 Метод, основанный на “схеме Горнера”
- •2.5 Метод “цифра за цифрой”
- •2.5.1 Конверсия целого числа методом “цифра за цифрой”
- •2.5.2 Конверсия дробного числа методом “цифра за цифрой”
- •2.6 Методы, учитывающие специфические соотношения оснований систем счисления
- •2.6.1 Двоично-шестнадцатеричные и шестнадцатерично-двоичные преобразования
- •2.6.2 Двоично-восьмеричные и восьмерично-двоичные преобразования
- •2.7 Методы, использующие промежуточные системы систем счисления
- •Часть 2. Кодирование данных в микропроцессорной технике
- •2. Теоретические основы кодирования чисел
- •3. Обратные коды двоичных чисел.
- •Дополнительные коды числовых данных
- •Часть 3. Арифметические операции при обработке данных
- •1. Предварительные замечания
- •3.1.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)
- •3.1.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
- •3.1.3. Сложение дробных и целых отрицательных чисел без переполнения (Случай 3)
- •3.1.4. Сложение дробных и целых отрицательных чисел с переполнением (Случай 4)
- •3.1.5. Сложение отрицательных чисел с “особым случаем переполнения”(Случай 5)
- •3.6.Сложение чисел разных знаков
- •3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
- •3.1.6.3. Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).
- •3.1.7 Обнаружение переполнения разрядной сетки в пдк
- •3.2.1. Сложение в обратных кодах дробных и целых отрицательных чисел без переполнения (Случай 3ок)
- •3.1.4. Сложение в обратных кодах дробных и целых отрицательных чисел с переполнением (Случай 4ок)
- •3.1.5. Сложение в обратных кодах отрицательных чисел с “особым случаем переполнением ” при сложении в дополнительных кодах (Случай 5)
- •3.1.6.Сложение в обратных кодах чисел разных знаков
- •3.1.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6, 9)
- •3.4 Обнаружение переполнения разрядной сетки в пок
- •4. Cложение чисел в модифицированных дополнительных кодах (мдк)
- •4.2.1. Сложение дробных и целых положительных чисел без переполнения. (Случай 1)
- •3.2.2. Сложение дробных и целых положительных чисел с переполнением (Случай 2)
- •3.2.3. Сложение дробных и целых отрицательных чисел без переполнения (Случай 3)
- •3.2.4. Сложение дробных и целых отрицательных чисел с переполнением (Случай 4)
- •3.2.5. Сложение целых отрицательных чисел с “особым случаем переполнения”(Случай 5)
- •3.2.6.Сложение чисел разного знака в модифицированных дополнительных кодах
- •3.2.6.1. Модуль положительного операнда больше модуля отрицательного. (Случаи 6,9)
- •3.2.6.3. Модуль положительного операнда меньше модуля отрицательного (Случаи 7,8).
- •4. Обнаружение переполнения разрядной сетки в модифицированных дополнительных кодах
2.5.2 Конверсия дробного числа методом “цифра за цифрой”
Перевод правильных дробей из системы счисления с основанием в систему с основанием осуществляется так.
Как и при конвертировании целого числа, исходное число − правильная дробь, заданная в СС с основанием .. Необходимо представить ее в СС с основанием . Основополагающим, является предположение о том, что в исходная правильная дробь в требуемой системе счисления представляется в виде полинома 2.3
Задача конвертирования заключается в определении неизвестных пока полиномиальных коэффициентов (цифр) Это выполняется путем умножения исходного числа на основание требуемой системы счисления. Очевидно, что при конвертировании разрядность числа может измениться по сравнению с разрядностью исходного числа.
Умножение разложения (2.3) на позволяет получить произведение вида
Пусть
В полученном произведении содержится в виде целой части старшая цифра числа и дробная часть . Дробным число является потому, что имеет вес . Если дробь опять умножить на основание требуемой системы счисления , то целая часть произведения дает следующую цифру числа в новой системе счисления и т.д. Тогда правило перевода правильных дробей в новую систему счисления методом “цифра за цифрой” (“последовательное умножение”) формулируется следующим образом.
Процедура 2.6. Конвертация дробных чисел методом “цифра за цифрой”
Дробь, соответствующая числу умножается на по правилам умножения в системе с основанием .
В полученном произведении отделяется целая часть, которая может быть равной нулю, а дробная часть снова умножается на с последующим отделением целой части.
Эти операции повторяют
либо до получения нулевой дробной части произведения,
либо до заполнения разрядной сетки, выделенной для представление числа
либо до достижения заданной точности преобразования.
. Старшая цифра результата перевода (то есть первая после запятой) совпадает с первой отделенной целой частью, вторая цифра результата — со второй отделенной целой частью и т. д.
Для чисел переводимых точно должен существовать конечный полином вида 2.3 в требуемой системе счисления. Таких чисел – не много, для них характерно формирование нулевой дробной части при переводе. Преобразование такого типа иллюстрируется Примерами 2.12, 2.13.
П ример 2.12 Преобразовать дробное число в двоичную систему счисления.
Результат преобразования конечен и равен
Метод обеспечивает взаимные преобразования чисел в системах с основаниями 2,8,16.
Пример 2.13 Преобразовать дробное двоичное число в восьмеричную систему счисления, а восьмеричное число в двоичную систему счисления.
Т аким образом, и
Из двоичной, восьмеричной и шестнадцатеричной систем возможны точные преобразование любого числа в десятичную систему счисления. Это положение является следствием следующего утверждения: любая степень двойки преобразуется в конечную десятичную дробь.
Так как основания двоичной, восьмеричной и шестнадцатеричной систем счисления это степени двойки, то соответствующие числа в десятичной системе представляются суммой конечных десятичных дробей – эквивалентов полиномиальных членов разложений 1.1, 1.2., поэтому являются конечным десятичным числом.
Метод имеет ограничения при преобразованиях из десятичных конечных дробей в системы с основанием 2,8,16.
Пример 2.14. Преобразовать дробные числа и соответственно в двоичную и восьмеричную системы счисления.
Пример иллюстрирует то, что преобразования некоторых десятичных чисел в системы с основанием 2,8,16 приводят к бесконечным дробям. Поэтому такие преобразования выполняются приближенно с контролем точности. Это свойство не является ограничением метода, а следует из того, что большинство (!) десятичных дробей не имеют точного аналога в системах счисления с основанием 2,8,16.
Обобщение свойств метода “цифра за цифрой” для дробных чисел приводит к следующим выводам:
Первое. Алгоритм обеспечивает преобразование из систем с основанием 2,8,16 в любую заданную систему с двоичным, восьмеричным, десятичным и шестнадцатеричным основанием.
Второе. Метод не обеспечивает точных преобразований из десятичной системы счисления. Преобразования выполняются приближенно, поэтому необходимо контролировать точность результата.
Третье.. Преобразования необходимо выполнять по правилам исходной системы счисления, что не всегда удобно и привычно.
Четвертое. Алгоритм хорошо формализован и эффективен для реализации на ЭВМ и МПТ.
Пятое. При преобразовании смешанного числа его целая и дробная часть преобразуются соответственно методами “деления лесенкой“ и “последовательного умножения“.