- •Министерство образования и науки украины
- •Содержание
- •Требования по оформлению контрольной работы
- •1 Вопросы для проверки уровня знаний основ компьютерной арифметики
- •2 Перечень технической литературы
- •3Cистемы счисления компьютерной арифметики
- •3.1 Представление чисел в позиционных системах счисления
- •3.2 Выбор системы счисления компьютера
- •4 Методы перевода чисел из одной позиционной системы счисления в другую
- •4.1 Методы перевода целых чисел
- •4.1.1 Метод подбора коэффициентов
- •4.1.2 Метод перевода делением на основание новой системы
- •4.1.3 Метод перевода чисел делением на основание в положительной степени
- •4.2 Перевод правильных дробей умножением на основание системы
- •4.3 Перевод неправильных дробей
- •4.4 Перевод чисел из 16-и и 8-ричных систем в двоичную и обратно
- •5 Форматы представления чисел в компьютере
- •5.1 Представления чисел с фиксированной запятой
- •5.2 Представление чисел в формате с плавающей запятой
- •5.3 Погрешности представления чисел
- •5.3.1 Абсолютная погрешность представления чисел
- •5.3.2 Относительная погрешность представления числа
- •6 Бинарная арифметика
- •6 1 Формальные правила двоичной арифметики
- •6.2 Представление отрицательных чисел
- •7 Коды бинарных чисел
- •7.1 Обратный код числа
- •7.1.1 Переход от обратного кода к прямому
- •7.2 Дополнительный код числа
- •7.3 Сложение чисел, представленных в форме с фиксированной запятой, на двоичном сумматоре прямого кода
- •8 Алгебраическое сложение бинарных чисел
- •8.1Cложение чисел на двоичном сумматоре дополнительного кода
- •8.2 Сложение чисел на сумматоре обратного кода
- •9 Модифицированные бинарные коды
- •9.2 Модифицированное сложение чисел в формате с плавающей точкой
- •10 Сложение чисел при разных значениях порядков
- •10.1 Алгоритм операции сложения в формате с плавающей точкой
- •11 Умножение двоичных чисел
- •11.1 Методы умножения бинарных чисел
- •11.2 Умножение чисел с фиксированной запятой на дспк
- •11.3 Умножение чисел с плавающей запятой
- •12 Умножение чисел на дсдк
- •12.1 Умножение чисел на дсдк при положительном множителе
- •12.2 Умножение чисел на дсдк при отрицательном множителе
- •13. Деление бинарных чисел
- •13.1 Метод деления бинарных чисел
- •13.1.1 Общий алгоритм деления чисел с восстановлением остатка
- •13.2 Деление чисел с фиксированной запятой с восстановлением остатка
- •14 Деление чисел с фиксированной запятой без восстановления остатка
- •14.1 Алгоритм деления без восстановления остатка
- •14.2 Деление чисел с плавающей запятой
- •15 Контрольное задание
5 Форматы представления чисел в компьютере
Все разнообразие записи чисел разбивают на естественные и нормализованные (нормальные) формы.
При естественной форме, число записывают в естественном (натуральном) виде, например 125 - целое число, 0,125 - правильная дробь, 125,125 - неправильная дробь. При нормализованной записи, одно и то же число может принимать различный вид, и его форма зависит от принятых правил (ограничений) действующих при записи. Например, 12500 может быть записано 12,5 *103 =0,125*105= 125000*10-1 и т.д.
Такое разнообразие форм представления чисел является причиной усложнения устройств и алгоритмов функционирования цифровых автоматов вычислителей.
Во избежание этого, в цифровых автоматах приняты свои нормализованные формы записи и отображения чисел, позволяющие минимизировать стоимость аппаратных и алгоритмических средств.
5.1 Представления чисел с фиксированной запятой
Автоматное изображение числа - представление числа N в разрядной сетке цифрового автомата, в заданном формате и правилами отображения.
При представлении числа в форме с фиксированной запятой (точкой), весь формат n-разрядной сетки разбивается на три части:
- один (или два) разряд для представления знака числа `0 (00) - плюс, 1 (11) - минус;
- следующие k разрядов определяют для размещения целой части числа;
- следующие n-(k+2) разрядов определяют для размещения дробной части числа.
На рисунке 5.1 представлен формат числа с фиксированной запятой для 16-ти разрядной сетки.
Положение запятой в разрядной сетке автомата строго фиксировано схемой или программой. Обозначим машинное изображение числа N через Nm, тогда число Nm равно
,
где Кф - масштабный коэффициент принятого формата, величина которого зависит от числа разрядов целой части, т.е. для рисунка 5. 1 KФ,=2k = 26.
Пример: записать число N= +11,00111000111 в формате машины с КФ=26. Nm= N*2-6. Nm= 0.000011001110001[последние разряды 11 - потеряны] и, наоборот, число N определяется как N = Nm*KФ =000011,001110001. Знак `+` для положительного числа не записывается.
5.2 Представление чисел в формате с плавающей запятой
Другой наиболее распространенной формой является представление чисел в форме с плавающей запятой. В этом случае в нормальной форме число записывается как
где
N - машинное нормализованное число; m - мантисса числа;
p - порядок (характеристика) числа.
Такое представление, в общем случае, не является однозначным. Поэтому, для нормализованного числа вводят, как правило, ограничение. Наиболее удобным и распространенным является требование вида
5.1, где q - основание системы.
Правило. Нормализованной формой представления чисел является форма числа, для которой справедливо условие 5.1.
В этом случае абсолютное значение мантиссы может быть в пределах от 0,1*q-1 до ( 0,1*q-1+0,1*q-2+…+0,1*q-n), т.е. до 1, если n стремится к бесконечности, где п - количество разрядов записи мантиссы (без знака).
Формат машинного отображения чисел с плавающей запятой представлен на рисунке 5.2 для 16-ти разрядной сетки.
Положение запятой не постоянно и зависит от записанного в разряды «Порядка» числа. Такая форма представления числа в компьютере называется форматом с плавающей запятой (точкой).
Формат представления, целой части числа, определяется знаком порядка и числом порядка, может изменяться. Но всегда формат числа должен содержать знак числа, мантиссу, знак порядка, порядок. Порядок определяет сколько разрядов мантиссы после знака необходимо отсчитать, чтобы поставить запятую отделяющую дробную часть числа.
Итак, прежде чем записать число в цифровой автомат с его разрядной сеткой, это число нормализуют, т.е. приводят к виду, когда в старшем разряде мантиссы стоит 1. Все остальные формы называют ненормализованными.
Порядок - это показатель степени, на который нужно умножить или разделить (для отрицательного знака порядка) мантиссу для получения целой части числа.
При нормализации, число сдвигают вправо (если есть целая часть числа) или влево (до установления единицы после знака числа). При сдвиге вправо порядок (т.е. степень основания) увеличивается с каждым сдвигом на +1. При сдвиге влево порядок уменьшается каждый раз на -1.
Примеры. Записать двоичное число+0011101,011 в нормальной форме.
+0011101,011 = 0,11101011*25 = 00.111010110.00.101
При записи мантиссы и порядка, удобно чтобы старший разряд был слева. Иногда расположение старших разрядов оговаривают особо.
Поскольку основание 2(10) = 010(2) всегда постоянное, то его запись в характеристике числа опускается.