Автор работы: Пользователь скрыл имя, 27 Декабря 2011 в 20:21, курсовая работа
Требуется составить программу, расположенную в памяти с ячейки 400016, формирующую следующие четыре числа:
«Знак числа» в ячейке 600016 (однобайтное целое число «+» - 00 и «-» - 01),
«Знак порядка» в ячейке 600116 (однобайтное целое число «+» - 00 и «-» - 01),
Модуль порядка в ячейке 600216 (однобайтное целое число),
Мантисса как трёхбайтное целое число в ячейках 600316-600516.
Введение…...…………………………………………………………………………..3
Аналитический обзор….…………………………………………………………….3
Описание выбранной программы-эмулятора……………………………………8
Практическая разработка…………………………………………………………..9
Описание использованных средств вычислительной техники………………13
Выводы……………………………………………………………………………………..13
Использованная литература………………………………………………………14
Санкт-Петербургский
государственный
(технический университет)
Факультет Информатики и Управления
Кафедра САПРиУ,
II курс, гр.823
Дисциплина:
Организация ЭВМ и систем
Пояснительная записка к курсовому проекту.
Тема: ‘Представление
чисел с плавающей точкой’.
Студент: Сопыгин А.И.
Санкт-Петербург, 2003г.
Содержание
стр.
Введение…...……………………………………
Аналитический
обзор….……………………………………………………………
Описание
выбранной программы-эмулятора……………………………
Практическая
разработка……………………………………………………
Описание использованных средств вычислительной техники………………13
Выводы……………………………………………………
Введение.
В ячейках памяти 5000-5003h хранится число с плавающей точкой в формате (1+8+23). Восьмиразрядный порядок имеет смещение pсм=12810. Двоичная двадцатитрёхразрядная мантисса не содержит старшей единицы, получаемой в результате нормализации.
Требуется составить программу, расположенную в памяти с ячейки 400016, формирующую следующие четыре числа:
Аналитический обзор.
Системой счисления называется совокупность приемов наименования и записи чисел. В любой системе счисления для представления чисел выбираются некоторые символы (их называют цифрами), а остальные числа получаются в результате каких-либо операций над цифрами данной системы счисления.
Существуют позиционные и непозиционные системы счисления.
В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.
В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы. Сама же запись числа 757,7 означает сокращенную запись выражения
700 + 50 + 7 + 0,7 = 7∙102 + 5∙101 + 7∙100 + 7∙10-1 = 757,7.
Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе.
За
основание системы можно
an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,
где
ai – цифры системы счисления; n и
m – число целых и дробных разрядов, соответственно.
Десятичная система счисления. Использует десять обычных цифр – 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9, а также символы «+» и «–» для обозначения знака числа и запятую (точку) для разделения целой и дробной частей числа. Существует массовое заблуждение, будто именно десятичная система счисления является наиболее употребительным способом записи чисел. Между тем, более внимательный анализ правил чтения и записи чисел приводит к другому выводу: система счисления, которой мы обычно пользуемся, фактически является двойной, так как имеет основания – 10 и 1000. В частности, в русском языке известны названия только для первых семи разрядов десятичной системы счисления (1 – единица, 10 – десяток, 100 – сотня, 1000 – тысяча, 10000 – тьма, 100000 – легион, 1000000 – миллион), но предпоследние два из них (легион и тьма) давно вышли из употребления, а соседние с ними (миллион и тысяча) – названия классов, а не только разрядов. Итак, фактически в русском языке остались лишь два самостоятельных названия для десятичных разрядов: десяток и сотня. В других языках – аналогичная ситуация.
Двоичная система счисления. В настоящий момент – наиболее употребительная в информатике, вычислительной технике и смежных отраслях система счисления. Использует две цифры – 0 и 1, а также символы «+» и «–» для обозначения знака числа и запятую (точку) для разделения целой и дробной части.
Восьмеричная система счисления. Использует восемь цифр – 0, 1, 2, 3, 4, 5, 6, и 7, а также символы «+» и «–» для обозначения знака числа и запятую (точку) для разделения целой и дробной частей числа. Широко использовалась в программировании в 1950-70-ые гг. К настоящему времени практически полностью вытеснена шестнадцатеричной системой счисления, однако функции перевода числа из десятичной системы в восьмеричную и обратно сохраняются в микрокалькуляторах и многих языках программирования.
Шестнадцатеричная
система счисления. Использует шестнадцать
цифр – 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 в их обычном смысле,
а затем A=10, B=11 , C=12 , D=13 , E=14 , F=15 . Также использует
символы «+» и «–» для обозначения знака
числа и запятую (точку) для разделения
целой и дробной частей числа. Внедрена
американской корпорацией IBM. Широко используется
в программировании для IBM-совместимых
компьютеров. С другой стороны, в некоторых
языках сохранились и следы использования
этой системы счисления в прошлом. Например,
в романских языках (испанском, французском
и др.) числительные от 11 до 16 образуются
по одному правилу, а от 17 до 19 – по другому.
А в русском языке известен пуд, равный
16 килограммам.
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).
Например:
Чтобы перевести число из двоичной системы в восьмеричную или шестнадцатеричную, его нужно разбить влево и вправо от запятой на триады (для восьмеричной) или тетрады (для шестнадцатеричной) и каждую такую группу заменить соответствующей восьмеричной (шестнадцатеричной) цифрой.
Например,
При переводе числа из двоичной (восьмеричной, шестнадцатеричной) системы в десятичную надо это число представить в виде суммы степеней основания его системы счисления.
Примеры:
При
переводе целого десятичного числа в систему
с основанием q его необходимо последовательно
делить на q до тех пор, пока не останется
остаток, меньший или равный q–1. Число
в системе с основанием q записывается
как последовательность остатков от деления,
записанных в обратном порядке, начиная
с последнего.
Пример: Перевести число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Ответ:
7510 = 1 001 0112 = 1138 = 4B16.
При переводе правильной десятичной дроби в систему счисления с основанием q необходимо сначала саму дробь, а затем дробные части всех последующих произведений последовательно умножать на q, отделяя после каждого умножения целую часть произведения. Число в новой системе счисления записывается как последовательность полученных целых частей произведения. Умножение производится до тех пор, пока дробная часть произведения не станет равной нулю. Это значит, что сделан точный перевод. В противном случае перевод осуществляется до заданной точности. Достаточно того количества цифр в pезультате, котоpое поместится в ячейку.
Пример: Перевести число 0,35 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Ответ:
0,3510 = 0,010112 = 0,2638 = 0,5916.
Представление данных с плавающей точкой.
Для унификации формата представления чисел с плавающей точкой Институтом инженеров по электротехнике и радиоэлектронике (IEEE) разработан стандарт 754.
Стандарт специфицируется на два формата: 32-битовый – обычной точности представления и 64-битовый – удвоенной точности представления.
В
первом формате поле порядка занимает
8 бит, во втором – 11 бит. Стандарт регламентирует
использование числа 2 в качестве
неявно заданного значения основания
характеристики. Помимо основных, в стандарте
предусмотрены два расширенных варианта
форматов обычной и удвоенной точности,
конкретная спецификация которых зависит
от реализации вычислительной системы.
Расширенные форматы позволяют включать
дополнительные биты и в поле порядка
(расширение диапазона представления)
и в поле мантиссы (повышение точности
представления). Расширенные форматы предназначаются
для промежуточных вычислений. За счёт
повышения точности снижается вероятность
появления слишком больших ошибок округления,
а при расширении диапазона снижается
вероятность появления ошибки переполнения,
которая, как правило, приводит к аварийному
завершению программы. Ещё одно достоинство
расширенного формата обычной точности
состоит в том, что он позволяет использовать
некоторые свойства формата с удвоенной
точностью, но при этом не требует соответствующего
увеличения времени выполнения арифметических
операций.
Параметры форматов, регламентированные стандартом IEEE 754.
Параметр | Формат | |||
Обычная точность | Расширенный
обычной точности |
Удвоенная
точность |
Расширенный
удвоенной точности | |
Размер
слова (бит) Поле порядка
(бит) Смещение порядка Максимальное
значение порядка Минимальное значение
порядка Диапазон представления
(по основанию 10) Поле мантиссы
(бит) Количество значений
порядка Количество значений
мантиссы Количество отличающихся представимых величин |
32 8 127 127 -126 10-38,
10+38 23 254 223 1.98∙231 |
≥43 ≥11 Не регламентируется ≥1023 ≤-1022 Не регламентируется ≥31 Не регламентируется Не регламентируется Не регламентируется |
64 11 1023 1023 -1022 10-308,
10+308 52 2046 252 1.99∙263 |
≥79 ≥15 Не регламентируется ≥16383 ≤-16382 Не регламентируется ≥63 Не регламентируется Не регламентируется Не регламентируется |