- •Часть 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.5.1 Конверсия целого числа методом “цифра за цифрой”
Преобразуемое
(исходное) число, заданное в исходной
системе счисления с основанием
,
необходимо
представить в СС с другим основанием
Базовым
предположением, на котором строятся
дальнейшие процедуры, является
предположение о том, что исходное целое
число
в
требуемой системе счисления представляется
в виде 2.1
Задача
конвертирования заключается в определении
неизвестных пока полиномиальных
коэффициентов (цифр)
–
Это
выполняется путем деления исходного
числа на основание требуемой системы
счисления. Очевидно, что при конвертировании
разрядность числа может измениться по
сравнению с исходной.
Деление
на
, выполненное
по правилам
исходной
системы счисления
приводит
к результату
Если
обозначить полученное частное как
,
то
результат деления можно записать как
Таким
образом, младшая цифра искомого
представления
в
новой системе счисления − есть остаток
от деления исходного числа на
.
Если продолжить деление частного
на
,
то
получается результат
Результатом
второго деления является частное
и
остаток.
Остаток от второго деления есть вторая цифра исходного числа в системе счисления.
Таким образом, последовательное деление обеспечивает последовательное получение цифр исходного числа в новой системе счисления( “цифра за цифрой”).
Поэтому алгоритм преобразования целого числа методом “цифра за цифрой” может быть сформулирован в следующем виде.
Процедура 2.5 Конвертация целых чисел методом “цифра за цифрой”
Число делится на по правилам деления системы с основанием до получения остатка.
Если частное от деления - больше делителя, то частное становится делимым и процесс деления на
продолжается.
Как только очередное частное станет меньше , процесс деления на прекращается. Остаток, полученный при первом делении на , представляет цифру разряда результата с весом
в
требуемой системе счисления.
Остаток
от второго деления представляет цифру
разряда результата с весом
и
т. д.
Последний остаток является старшей цифрой результата, имеющей вес
.
Особенности метода иллюстрируются следующими примерами.
П
ример
2.10.
Выполнить,
используя метод “цифра
за цифрой”,
конвертацию целых десятичных чисел
,
соответственно, в двоичную,
восьмеричную и шестнадцатеричную
системы счисления.
Преобразования
приводят к результатам:
Обозначение
8(mod10) означает, что деление выполняется
по правилам десятичной системы счисления.
П
ример
2.11.
Выполнить,
используя метод “цифра
за цифрой”,
конвертацию целых чисел
,
соответственно, в десятичную,
шестнадцатеричную и BCD
системы счисления.
Преобразования
приводят к результатам
Целесообразно выделить несколько свойств и особенностей алгоритма “цифра за цифрой”, используемого для преобразований целых чисел.
Первое. Алгоритм теоретически обеспечивает преобразование из системы с любым основанием в заданную систему с любым основанием. Это свойство иллюстрируется Примерами 2.10,2.11.
Второе. Преобразования необходимо выполнять по правилам исходной системы счисления, что не всегда удобно и привычно.
Третье. Область преимущественного использования метода для “ручных” преобразований – преобразование из десятичного представления числа в двоичное, а также в восьмеричное и в шестнадцатеричное.
Четвертое. Алгоритм хорошо формализован и, как следствие, эффективен не только для ручных преобразований, так и для реализации на ЭВМ и МПТ.
