- •Системы счисления. Их разновидности: непозиционные и позиционные. Их математическое описание.
- •Критерии выбора системы счисления при проектировании эвм.
- •Перевод целых чисел из одной системы счисления в другую методом деления. Математическое описание алгоритма.
- •Перевод правильных дробей из одной системы счисления в другую методом умножения. Математическое описание алгоритма.
- •Перевод чисел из одной системы счисления в другую методом «взвешивания». Математическое описание алгоритма.
- •Перевод чисел в системах счисления с основаниями кратными степени двойки.
- •Разновидности двоичных систем счисления. Системы счисления с отрицательным основанием.
- •Представление двоичных чисел в формате с фиксированной запятой: назначение разрядов числа, диапазон, погрешность представления. Математическое описание формата.
- •Нормализованное представление числа.
- •Формат со «скрытой» единицей.
- •Формат со смещенным порядком.
- •Форматы чисел в i486: цс, кц, дц, от, дт, рт, д-коды.
- •Представление двоичных чисел в формате с плавающей запятой: назначение разрядов числа, диапазон, погрешность представления. Математическое описание формата
- •Специальные значения в i486.
- •Погрешности представления чисел.
- •Погрешности арифметических операций.
- •Сравнительная характеристика форматов представления чисел с плавающей и фиксированной запятой.
- •Прямой код целых чисел и правильных дробей: правила преобразования, диапазон и погрешность представления. Математическое описание кода.
- •Обратный код целых чисел и правильных дробей: правила преобразования, диапазон и погрешность представления. Математическое описание кода.
- •Дополнительный код целых чисел и правильных дробей: правила преобразования, диапазон и погрешность представления. Математическое описание кода.
- •Показать справедливость алгоритма сложения в обратном коде, рассмотрев все комбинации знаков слагаемых, используя определение обратного кода.
- •Способы обнаружения переполнения при сложении чисел. Отрицательное и положительное переполнение.
- •Модифицированный код представления чисел.
- •Основные способы умножения чисел в прямых кодах на примере правильных дробей или целых чисел. Бса и математическое описание алгоритмов.
- •2 Способ:
- •Умножение двоичных чисел в дополнительных кодах. Бса.
- •Умножение двоичных чисел в обратных кодах.
- •Приёмы ускорения операции умножения.
- •Алгоритм деления чисел в формате с фиксированной запятой без восстановления частичного остатка.
Сравнительная характеристика форматов представления чисел с плавающей и фиксированной запятой.
Недостаток фиксированной запятой — очень узкий диапазон чисел, с угрозой переполнения на одном конце диапазона и потерей точности вычислений на другом. Эта проблема и привела к изобретению плавающей запятой. Представление чисел в формате с плавающей запятой точнее, чем в формате с фиксированной запятой, и почти не зависит от величины числа.
Прямой код целых чисел и правильных дробей: правила преобразования, диапазон и погрешность представления. Математическое описание кода.
Прямой код двоичного числа А предполагает, что цифровые разряды n-разрядной сетки содержат цифры модуля числа, знаковый разряд – код знака: 1 – минус, 0 – плюс:
где n — номер знакового разряда.
Получение прямого кода.
Чтобы получить прямой код отрицательного двоичного числа, необходимо проинвертировать цифровой разряд его модуля.
Например, при 5-разрядной сетке прямой двоичный код десятичных чисел 7 и -7 будет выглядеть так: (в ячейке 4 лежит знак)
Обратный код целых чисел и правильных дробей: правила преобразования, диапазон и погрешность представления. Математическое описание кода.
Обратный код двоичного числа предполагает,
что если число положительное, то его
код равен прямому, а если отрицательное,
то его обратный код равен дополнению
модуля числа до максимального целого
двоичного числа, без знака, помещающегося
в разрядную сетку, т.е. до числа
.
Например:
в 5-разрядной сетке обратный двоичный
код числа 7 будет равен 0|0111, а числа -7
будет равен 1|1000.
Для определения обратного кода выполняется вычитание, при котором в каждом разряде производится одна из двух операций: 1-1=0 или 1-0=1. Поэтому для получения обратного кода можно предложить следующие процедуры:
Получение обратного кода. Чтобы получить обратный код отрицательного двоичного числа, необходимо проинвертировать все разряды его модуля.
Смена знака числа в обратном коде. Чтобы сменить знак числа, представленного в обратном коде, необходимо проинвертировать все его цифровые разряды.
Преобразование прямого кода в обратный код. Чтобы получить обратный код двоичного отрицательного числа, представленного в прямом коде, необходимо проинвертировать все его цифровые разряды.
Преобразование обратного кода в прямой код. Чтобы получить прямой код отрицательного двоичного числа, представленного в обратном коде, необходимо проинвертировать все его цифровые разряды.
Обратный код любого отрицательного числа содержит в знаковом разряде 1, что является признаком отрицательности.
Дополнительный код целых чисел и правильных дробей: правила преобразования, диапазон и погрешность представления. Математическое описание кода.
Дополнительный код двоичного числа А предполагает, что если число положительное, то его дополнительный код равен дополнению модуля числа до числа, в 2 раза большего, чем вес знакового разряда, до числа :
где n — номер знакового разряда.
Например, в 5-разрядной сетке дополнительный код числа -7 будет выглядеть так:
Модуль |-7| : 0|0111. Дополнительный код -7: 1|1001. К обратному коду числа прибавляется 1.
Получение дополнительного кода. Чтобы получить дополнительный код отрицательного двоичного числа, необходимо проинвертировать все разряды его модуля и к младшему разряду прибавить единицу.
Смена знака числа в дополнительном коде. Чтобы сменить знак числа, представленного в дополнительном коде, необходимо проинвертировать все разряды кода и к младшему разряду прибавить единицу.
Преобразование прямого кода в дополнительный. Чтобы получить дополнительный код отрицательного двоичного числа, представленного в прямом коде, необходимо проинвертировать все его цифровые разряды и к младшему разряду прибавить единицу.
Преобразование дополнительного кода в прямой. Чтобы получить прямой код отрицательного двоичного числа, представленного в дополнительном коде, необходимо проинвертировать все его цифровые разряды и к младшему прибавить единицу.
При кодировании правильных двоичных дробей, представленных в форме с фиксированной запятой, все процедуры справедливы, меняется лишь математическое описание кодов (n-разрядная сетка):
«Машинный» нуль.
Необходимо определения числа ноль, для
которого должно быть справедливо X+0=X
и Z=X*0=X.
Для представления нуля введено понятие
машинный ноль, имеющий мантиссу М=0
и минимальный смещенный порядок
.
Для правильного выполнения арифметических
операций в виде исключения мантисса
машинного нуля не лежит в диапазоне
излучения.
Правила сложения одноразрядных двоичных чисел.
Правило 1) 0 + 0 = 0 Правило 2) 0 + 1 = 1 Правило 3) 1 + 0 = 1 Правило 4) 1 + 1 = 10
Алгебраическое сложение двоичных чисел в прямом коде. БСА алгоритма сложения.
В каждом разряде вычисляется сумма значений одноименных разрядов слагаемых и переноса предыдущего младшего разряда, в результате формируется цифра результата и возможен перенос в следующий результат.
В пределах одного разряда операция сложения может быть выполнена по следующему алгоритму:
Алгебраическое сложение двоичных чисел в обратном коде.
Для сложения двоичных чисел необходимо представить слагаемые в обратных кодах, выполнить сложение кодов, если при этом возникает перенос из знакового разряда, то единица переноса прибавляется к младшему разряду суммы.
Алгебраическое сложение двоичных чисел в дополнительном коде.
Для сложения двоичных чисел необходимо представить слагаемые в дополнительных кодах и выполнить сложение кодов. Если возникает перенос из знакового разряда, то единица переноса отбрасывается.
Например:
X = 14; Y = -5; Найдём Z=X+Y в 5-разрядной сетке.
Показать справедливость алгоритма сложения в дополнительном коде, рассмотрев все комбинации знаков слагаемых, используя определение дополнительного кода.
Дополнительный код позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуру ЭВМ. Дополнительный код отрицательного числа можно получить инвертированием модуля двоичного числа (первое дополнение) и прибавлением к инверсии единицы (второе дополнение). Либо вычитанием числа из нуля.
