Представление чисел с плавающей точкой

Автор работы: Пользователь скрыл имя, 27 Декабря 2011 в 20:21, курсовая работа

Описание работы

Требуется составить программу, расположенную в памяти с ячейки 400016, формирующую следующие четыре числа:
«Знак числа» в ячейке 600016 (однобайтное целое число «+» - 00 и «-» - 01),
«Знак порядка» в ячейке 600116 (однобайтное целое число «+» - 00 и «-» - 01),
Модуль порядка в ячейке 600216 (однобайтное целое число),
Мантисса как трёхбайтное целое число в ячейках 600316-600516.

Содержание работы

Введение…...…………………………………………………………………………..3
Аналитический обзор….…………………………………………………………….3
Описание выбранной программы-эмулятора……………………………………8
Практическая разработка…………………………………………………………..9
Описание использованных средств вычислительной техники………………13
Выводы……………………………………………………………………………………..13
Использованная литература………………………………………………………14

Файлы: 1 файл

Курсовая работа по ОЭС.doc

— 550.50 Кб (Скачать файл)

Санкт-Петербургский  государственный технологический  институт

(технический  университет)

       

  Факультет  Информатики и Управления

Кафедра САПРиУ,

II курс, гр.823

 

Дисциплина: Организация ЭВМ и систем 
 
 
 

Пояснительная записка к курсовому проекту.

Тема: ‘Представление чисел с плавающей точкой’.  
 
 

Студент: Сопыгин А.И.

                                     Преподаватель: Гиляров В.Н.

                                                                                                                                                            

                                                                                                                                                                                                                          

                                
 

Санкт-Петербург, 2003г.

Содержание 
 

   стр.

    Введение…...…………………………………………………………………………..3

    Аналитический обзор….…………………………………………………………….3

    Описание выбранной программы-эмулятора……………………………………8

    Практическая  разработка…………………………………………………………..9

    Описание  использованных средств вычислительной техники………………13

    Выводы……………………………………………………………………………………..13

    Использованная  литература………………………………………………………14

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение.

    В ячейках памяти 5000-5003h хранится число с плавающей точкой в формате (1+8+23). Восьмиразрядный порядок имеет смещение pсм=12810. Двоичная двадцатитрёхразрядная мантисса не содержит старшей единицы, получаемой в  результате нормализации.

   Требуется составить программу, расположенную в памяти с ячейки  400016, формирующую следующие четыре числа:

  1. «Знак числа» в ячейке 600016 (однобайтное целое число «+» - 00 и «-» - 01),
  2. «Знак порядка» в ячейке 600116 (однобайтное целое число «+» - 00 и «-» - 01),
  3. Модуль порядка в ячейке 600216 (однобайтное целое число),
  4. Мантисса как трёхбайтное целое число в ячейках 600316-600516.
 

Аналитический обзор.

    Системой  счисления называется совокупность приемов наименования и записи чисел. В любой системе счисления для представления чисел выбираются некоторые символы (их называют цифрами), а остальные числа получаются в результате каких-либо операций над цифрами данной системы счисления.

    Существуют  позиционные и непозиционные  системы счисления.

    В непозиционных системах вес цифры (т.е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.

    В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы. Сама же запись числа 757,7 означает сокращенную запись выражения

700 + 50 + 7 + 0,7 = 7∙102 + 5∙101 + 7∙100 + 7∙10-1 = 757,7.

    Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе.

    За  основание системы можно принять  любое натуральное число —  два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием q означает сокращенную запись выражения

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 

Не регламентируется 
 

Не регламентируется 
 

Не регламентируется

Информация о работе Представление чисел с плавающей точкой