Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа экзамен / крутые билеты по инфе / 19 представление чисел.docx
Скачиваний:
47
Добавлен:
23.03.2016
Размер:
118.6 Кб
Скачать
    1. Представление вещественных чисел в эвм

Вещественные числа представляются в форме числа с плавающей запятой (точкой) вида:

±M × n±P,

где M– мантисса (значащая часть числа);n– основание системы счисления;P– порядок числа.

Пример 5.7. Число 2,5 ×1018имеет мантиссу равную 2,5, а порядок равный 18. □

Мантисса называется нормализованной, если ее абсолютное значение лежит в диапазоне:

1/n £ |M| < 1,

где n– основание системы счисления.

Это условие означает, что первая цифра после запятой не равна нулю, а абсолютное значение мантиссы не превышает единицы.

Число с нормализованной мантиссой называется нормализованным.

Пример 5.8. Представить числа –245,62 и 0,00123 в форме числа с плавающей точкой.

Решение. Число –245,62 можно представить в форме числа с порядком –245,62 ×100. Мантисса этого числа не нормализована, поэтому поделим его на 103, увеличив при этом порядок:

–0,24562 ×103.

В результате число –0,24562 ×103нормализовано.

Число 0,00123 в форме числа с порядком 0,00123 ×100не нормализовано, так как не нормализована мантисса. Умножим мантиссу на 102, уменьшив при этом порядок:

0,123 ×10–2.

В результате число 0,123 ×10–2нормализовано. □

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

Для основанного на стандарте IEEE-754 представления вещественного числа в ЭВМ используютсяm + p + 1 бит, распределяемые следующим образом (Рис. 5 .5): 1 разряд знака мантиссы;pразрядов порядка;mразрядов мантиссы.

Рис. 5.5. Структура общего формата числа с плавающей точкой

Это представление называется (m, p)-форматом.

Диапазон представления чисел X(m, p)-форматом определяется из неравенства:

£X £(1 – 2 m –1)» .

При этом порядок числа Pдолжен удовлетворять условию –2 1+ 1£P£ 2 1– 1

Для вещественных чисел в стандарте IEEE-754 используются (23,8)- и (52,11)-форматы, называемые одинарным и двойным вещественными форматами соответственно (табл.  5 .2).

Чтобы представить значение этих порядков, количество секунд, прошедших с момента образования планеты Земля, составляет всего 1018.

Правило 5.5. (перевод десятичных чисел в (m, p)-формат) Алгоритм перевода десятичного числаXв (m, p)-формат состоит из следующих шагов.

1. Если Х = 0, то принять знаковый разряд, порядок и мантиссу за ноль и закончить алгоритм.

2. Если X > 0, то принять знаковый разряд 0, иначе принять 1. Знаковый разряд сформирован.

3. Перевести целую и дробную часть абсолютного значения числа Xв двоичную систему счисления. Если число дробное, то получитьm+ 1 разрядов. Принять порядок равный нулю.

Таблица 5.2. Сравнительные характеристики вещественных форматов

Характеристики

Одинарный

Двойной

Размер, байт/бит

4/32

8/64

Порядок p, бит

8

11

Мантисса m, бит

23

52

Смещение порядка 2 1– 1

127

1023

Количество значащих десятичных цифр мантиссы

7 .. 8

15 .. 16

Диапазон десятичных порядков

–45 .. 38

–324 .. 308

4. Если X ³ 1, то перенести запятую влево до самого старшего разряда и увеличить порядок, иначе перенести запятую вправо до первого ненулевого (единичного) разряда и уменьшить порядок.

5. Если число разрядов дробной части меньше m, то дополнить дробную часть нулями справа доmразрядов. Отбросить единицу из целой части. Мантисса сформирована.

6. Прибавить к порядку смещение 2 1– 1 и перевести порядок в двоичную систему счисления. Порядок сформирован. Код, в котором представлен порядок, называется смещенным. Смещенный порядок упрощает сравнение, сложение и вычитание порядков при арифметических операциях.

7. Записать знаковый разряд, порядок и мантиссу в соответствующие разряды формата.

Пример 5.9. Представить число –25,6875 в одинарном вещественном формате.

Решение. В примере Error: Reference source not found был произведен перевод абсолютного значения числа –25,6875 в двоичную систему и было получено 9 разрядов:

25,6875 = 11001,10112.

Нормализуем число, сдвинув запятую влево и повысив порядок:

1,100110112×24.

После отбрасывания целой части остается 23 разряда дробной части (в соответствии с форматом (23,8)), записываемые как мантисса:

10011011000000000000000.

Порядок равен 4 (степень двойки после сдвига запятой влево). Произведем его смещение и перевод в двоичную систему счисления:

4 + 127 = 131 = 100000112.

Число –25,6875 отрицательное, следовательно, знаковый разряд равен 1.

Все готово для представления числа –25,6875 в одинарном вещественном формате по схеме знаковый разряд + порядок + мантисса:

1 10000011 10011011000000000000000.

Разделим это число по 8 разрядов, сформируем байты и запишем их шестнадцатеричными числами:

11000001

11001101

10000000

00000000

C1

CD

80

00

Таким образом, число –25,6875 можно записать как C1CD8000. □

Как и форматы целых чисел, форматы вещественных чисел хранятся в памяти ЭВМ в обратном порядке следования байт (сначала младшие, потом старшие).

Арифметические операции над числами с плавающей точкой осуществляются в следующем порядке.

При сложении (вычитании) чисел с одинаковыми порядками их мантиссы складываются (вычитаются), а результату присваивается порядок, общий для исходных чисел. Если порядки исходных чисел разные, то сначала эти порядки выравниваются (число с меньшим порядком приводится к числу с большим порядком), а затем выполняется операция сложения (вычитания) мантисс. Если при выполнении операции сложения мантисс возникает переполнение, то сумма мантисс сдвигается влево на один разряд, а порядок суммы увеличивается на 1.

При умножении чисел их мантиссы перемножаются, а порядки складываются.

При делении чисел мантисса делимого делится на мантиссу делителя, а для получения порядка частного из порядка делимого вычитается порядок делителя. При этом если мантисса делимого больше мантиссы делителя, то мантисса частного окажется больше 1 (происходит переполнение) и запятую следует сдвинуть влево, одновременно увеличив порядок частного.

Соседние файлы в папке крутые билеты по инфе