обоснование алгоритмов (1082230)
Текст из файла
Математическое обоснование алгоритма нахождения среднего арифметического двух чисел с плавающей точкой.
1.Сложение двух чисел представленных в дополнительном коде с плавающей точкой.
Числа, представленные в форме с плавающей запятой, изображаются двумя частями — мантиссой и порядком. При операции алгебраического сложения действия, выполняемые над мантиссами и порядками, различны. Следовательно, в цифровом автомате должны быть два раздельных устройства для обработки мантисс и для обработки порядков.
Так как для чисел с плавающей запятой справедливо условие:
q-1|mA|<1
(1)
то всякий результат, не удовлетворяющий этому условию, должен быть приведен в соответствие с формулой (1). Такую операцию называют нормализацией числа. Операция нормализации числа состоит из проверки выполнимости условия и сдвига изображения мантиссы в ту или иную сторону. Сдвиги могут осуществляться на один разряд и более в левую или правую сторону в пределах разрядной сетки машины.
Простой сдвиг — операция, выполняемая по следующим правилам*:
Исходная комоинация | Сдвинутая влево на один разряд | Сдвинутая вправо на один разряд |
0.а1а2...аn 1.а1а2...аn | а1.а2...аn0 а1.а2...аnα | 0.0а1а2...аn-1 0.1а1а2...аn-1 |
Модифицированный сдвиг — операция над модифицированными изображениями, выполняемая следующим образом:
Исходная комоинация | Сдвинутая влево на один разряд | Сдвинутая вправо на один разряд |
00.а1а2...аn 01.а1а2...аn 10.а1а2...аn 11.а1а2...аn | 0а1.а2...аn0 1а1.а2...аn0 0а1.а2...аnα 1а1.а2...аnα | 00.0а1а2...аn-1 00.1а1а2...аn-1 1.0а1а2...аn-1 1.1а1а2...аn-1 |
* Величина α зависит от кода: для дополнительного кода α=0,для обратного кода α=1.
Нарушение нормализации числа — невыполнение условия (1). Так как условие (1) содержит два неравенства, то может быть нарушение справа и слева.
Разряд переполнения
m | m0’ | m1 | m2 | m3 | m4 | m5 | m6 | m7 | р | р1 | р2 | р3 |
Знак мантиссы
Знак порядка
Рис.2
Признак нарушения нормализации числа справа γ (когда величина результата равна или превышает единицу) — наличие разноименных комбинаций в знаковых разрядах сумматора, т.е.:
γ=1, если m0 о m0’=1
(2)*
(в остальных случаях γ=0), где γ — признак нарушения нормализации числа справа, указывающий на необходимость сдвига числа вправо на один разряд.
Признак нарушения нормализации числа слева δ (когда результат по собственной величине оказывается меньше 1/q, где q-основание системы счисления)— наличие одинаковых комбинаций в разряде переполнения и старшем разряде цифровой части сумматора m1:
δ=1, если m0’о m1=1
(3)

(в остальных случаях δ=0), где δ — признак нарушения нормализации, указывающий на необходимость сдвига числа влево на один разряд.
* Символ о означает логическую функцию mod2.
Таким образом, операция нормализации числа состоит из совокупности сдвигов и проверки наличия признаков нарушения γ и δ.
В наиболее общем случае сложения чисел, представленных в форме с плавающей запятой, (когда их порядки не равны друг другу, т.е. pA=pB) для операции сложения чисел необходимым условием является соответствие разрядов операндов друг другу. Значит, прежде всего, нужно уравнять порядки, что, естественно, повлечет за собой временное нарушение нормализации одного из слагаемых.
Выравнивание порядков означает, что порядок меньшего числа надо увеличить на величину р=|pA—pB|, что означает, сдвиг мантиссы меньшего числа вправо на количество разрядов, равное р.
Следовательно, цифровой автомат должен самостоятельно определять, какой из двух операндов меньший. На это укажет знак разности pA—pB: положительный знак будет при pA>pB, а отрицательный — при pA<pB.
2.Деление чисел с фиксированной точкой представленных в дополнительном коде на 210.
Для выполнения операции деления на 210 в цифровых вычислительных устройствах используется арифметический сдвиг вправо на один разряд. При арифметическом сдвиге знаковый разряд сохраняется, а в освободившийся разряд в дополнительном коде (только при сдвиге вправо) записывается знаковый разряд.
3.Нахождение среднего арифметического двух чисел с плавающей точкой.
Для реализации нахождения среднего арифметического двух чисел с плавающей точкой, необходимо:
1.Цифровой автомат должен определить, какой из двух слагаемых меньше с помощью компаратора. Так как числа представлены в дополнительном коде, для удобства их сравнения инвертируем значения их знаковых разрядов:
Десятичные числа
Четырехразрядные характеристики
-8
-7
-6
-3
-2
-1
0
1
2
3
4
5
6
7
0 000
0 001
0 010
0 101
0 110
0 111
1 000
1 001
1 010
1 011
1 100
1 101
1 110
1 111
2.Уравнять порядки для слагаемых: порядок меньшего числа необходимо увеличить, сдвинув мантиссу меньшего числа вправо на количество разрядов, равное |pA-pB|.
3.Для чисел A и B раздельно произвести арифметический сдвиг вправо на один разряд, т.е. выполнить операцию деления на 210. Среднее арифметическое можно определить как (A+B)2-1, или как A2-1+B2-1. Второй вариант предпочтительнее т.к. в этом случае невозможно переполнение разрядной сетки, а используемое для операции деления чисел с фиксированной точкой (см. вторую часть курсового проекта) оборудование имеет большую разрядность. В этом случае контроль нормализации числа справа γ (когда величина результата равна или превышает единицу) не нужен.
4.Сложить мантиссы.
5.Произвести нормализацию: если нормализация не нужна, то значение порядка, полученного в п.2. приписывается значению результата, если после выполнения п.4 имеется наличие одинаковых комбинаций в разряде переполнения m0’ и старшем разряде цифровой части сумматора m1 необходимо произвести сдвиг мантиссы влево на необходимое число разрядов. Одновременно со сдвигом влево нужна коррекция порядка, т.е. уменьшение его величины на единицу за каждый такт сдвига.
Математическое обоснование алгоритма деления двух чисел с фиксированной точкой.
Разряд переполнения
m0 | m0’ | m1 | m2 | m3 | m4 | m5 | m6 | m7 | m8 | m9 | m10 | m11 |
Знак мантиссы
Рис.3
Для реализации выполнения операции деления двух чисел с фиксированной точкой, используя алгоритм деления без восстановления остатков и со сдвигом их влево, необходимо:
1.Произвести анализ знаков операндов
2.
3.
4.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.