0

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

Система вещественных чисел в математических вычислениях предполагается непрерывной и бесконечной, т.е. не имеющей ограничений на диапазон и точность представления чисел. Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. Вследствие этого система вещественных чисел, представимых в машине, является дискретной (прерывной) и конечной.

Формат чисел с плавающей точкой основывается на экспоненциальной форме записи чисел, в котором любое вещественное число X, представленное в системе счисления с основанием Q, можно записать в виде:

,где m -мантисса числа (правильная дробь, модуль которой меньше 1), n– порядок числа, Q – основание системы счисления.

Представление числа в форме с плавающей точкой неоднозначно. Например, справедливы следующие равенства:

25,32410=2,5324*10 1 =0,25324*10 2 =0,0025324*10 4 =253,24*10 -1 =2532,4*10 -2 …

В компьютере используется нормализованное представление числа с плавающей точкой. Мантисса должна удовлетворять условию: 0,1£ m £ 1, т.е. мантисса меньше единицы и первая значащая цифра – не ноль.

В памяти компьютера мантисса представляется как целое число, содержащее только значащие цифры (0 целых и запятая не хранятся). Следовательно, внутреннее представление вещественного числа сводится к представлению двух целых чисел: мантиссы и порядка.

В разных типах компьютерах применяются различные варианты представления чисел в форме с плавающей точкой.

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

Из рисунка видно, что в старшем бите 1-го байта хранится знак числа – 0(плюс) или 1(минус). Оставшиеся 7 битов первого байта содержат машинный порядок. В следующих трех байтах хранятся значащие цифры мантиссы (24 разряда).

В семи разрядах машинного порядка помещаются двоичные числа в диапазоне от 000 00002 (010) до 111 11112 (12710). Таким образом, всего 128 значений. Так как порядок может быть положительным и отрицательным, то эти 128 значений разделим поровну между положительными и отрицательными значениями порядка: от -64 до 63 – математический порядок.

Машинный порядок смещен относительно математического и имеет только положительные значения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответствовал нуль.

Связь между машинным порядком (Мр) и математическим порядком (р) в рассматриваемом случае выражается формулой:

В двоичной системе формула имеет вид: Мр 2= р2+100 00002

Числа с плавающей запятой чаще всего имеют формат двойное или учетверенное слово.

Для записи внутреннего представления вещественного числа необходимо:

1. перевести модуль данного числа в двоичную систему счисления с 24-значащами цифрами;

2. нормализовать двоичное число;

3. найти машинный порядок в двоичной системе счисления;

4. учитывая знак числа, выписать его представление в 4-байтовом машинном слове.

Например. Записать внутреннее представление числа 250,1875 в форме с плавающей точкой.

1.Переведем его в двоичную систему счисления с 24 значащими цифрами:

1111 1010, 0011 0000 0000 00002.

2.Запишем в форме нормализованного двоичного числа с плавающей точкой:

0, 1111 1010 0011 0000 0000 0000 * 10 1000 2. Здесь основание 210 = 102 и порядок 810 = 10002

3.Вычислим машинный порядок в двоичной системе счисления:

Читайте также:  Забыл пароль блокировки телефона samsung

Мр = 1000+ 100 000 = 100 1000.

4.

Запишем представление числа в 4-х байтовой ячейке памяти с учетом знака:

Шестнадцатеричная форма: 48FA3000

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Увлечёшься девушкой-вырастут хвосты, займёшься учебой-вырастут рога 9816 – | 7682 – или читать все.

78.85.5.224 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

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

Форма с плавающей точкой использует представление вещественного числа А в виде произведения мантиссы m на основание системы счисления q в некоторой целой степени p, которую называют порядком:

Например, число 139,76 можно записать в виде: 0,13976×10 3 . Здесь

m = 0,13976 – мантисса, q=10 – основание системы счисления,

Порядок указывает, на какое количество позиций и в каком направлении должна «переплыть», т.е. сместиться десятичная в мантиссе. Отсюда название «плавающая точка». Однако справедливы и следующие равенства:

139,76=13,976×10 1 = 1,3976×10 2 = 0,013976х10 4 = 13976 х10 -2

Получается, что представление числа в форме с плавающей точкой неоднозначно? Чтобы не было неоднозначности, в ЭВМ используют нормализованное представление числа в форме с плавающей точкой.

Мантисса в нормализованном представлении должна удовлетворять условию: 1/n 3 .

В разных типах ЭВМ применяются различные варианты представления чисел в форме с плавающей точкой.

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

± маш. порядок МАНТИССА
1-й байт 2-й байт 3-й байт 4-й байт

В старшем бите 1-го байта хранится знак числа. В этом разряде 0 обозначает плюс, 1 – минус. Оставшиеся 7 бит первого байта содержат машинный порядок. В следующих трех байтах хранятся значащие цифры мантиссы.

Что такое машинный порядок? В семи двоичных разрядах помещаются двоичные числа в диапазоне от 0000000 до 1111111. В десятичной системе это соответствует диапазону от 0 до 127. Всего 128 значений. Знак порядка в ячейке не хранится. Но порядок может быть как положительным, так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка. В таком случае между машинным порядком (одним из 128 значений) и истинным (назовем его математическим) устанавливается следующее соответствие:

Машинный порядок
Математический порядок -64 -63 -62 -61

Если обозначить машинный порядок Мq, а математический q, то связь между ними выразится формулой: Мq = q + 64

Итак, машинный порядок смещен относительно математического на 64 единицы и имеет только положительные значения. Полученная формула записана в десятичной системе счисления. В двоичной системе счисления формула имеет вид:

При выполнении вычислений с плавающей точкой процессор это смещение учитывает.

Алгоритм для получения представления действительного числа в памяти ЭВМ:

Читайте также:  Как восстановить пропавшие контакты

1) Перевести модуль данного числа в двоичную систему счисления;

2) Записать полученное двоичное число в нормализованном виде;

3) Определить машинный порядок с учетом смещения;

4) Учитывая знак заданного числа (0 – положительное; 1 – отрицательное), записать его представление в памяти ЭВМ.

Например, запишем внутреннее представление числа 139,76 в форме с плавающей точкой в 4-х байтовой ячейке:

1) Переведем десятичное 139,76 и запишем его 24-значащими цифрами: 139,7610 = 10001011,11000010100011112

2) Запишем полученное двоичное число в форме нормализованного двоичного числа с плавающей точкой:

10001011,11000010100011112 = 0,1000101111000010100011112 х10 1000 ,

где 0,1000101111000010100011112 – мантисса;

10 – основание системы счисления (210=10 2 );

3) Определим машинный порядок:

Mq2 = 1000 + 1000000 = 1001000

4) Запишем представление числа в ячейке памяти:

± маш. порядок МАНТИССА
0 1001000

Для того чтобы получить внутренне представление десятичного отрицательного числа -139,76 достаточно в полученном выше представлении заменить в разряде знака числа 0 на 1. Никакого инвертирования, как для отрицательных целых чисел, здесь не происходит.

Задачи для самостоятельного решения

1. Компьютер работает только с целыми положительными числами. Каков диапазон изменения чисел, если для представления числа в памяти компьютера отводится 4 байта?

2. Каков диапазон изменения целых чисел, если для представления числа в памяти компьютера отводится 4 байта?

3. Записать в двоичной и шестнадцатеричной форме внутреннее представление наибольшего положительного целого и наибольшего по абсолютной величине отрицательного целого числа, представленных в 1-байтовой ячейке памяти.

4. Получить внутреннее представление целого числа 160710 в 2-х байтовой ячейке памяти.

5. Получить внутреннее представление целого числа -160710 в 2-х байтовой ячейке памяти.

6. По шестнадцатеричной форме внутреннего представления целого числа F67D в 2х-байтовой ячейке восстановить само число.

7. Представить число 0,005089 в нормализованной форме с плавающей точкой в десятичной системе счисления.

8. Получите двоичную форму внутреннего представления действительных чисел 224,25 и -224,25 в формате с плавающей точкой в 4-х байтовой ячейке.

9. Запишите в десятичной системе счисления целое число, если его дополнительный код 1000000110101110.

Список литературы

1. Информатика (курс лекций) / В. Т. Безручко. – М.: ИД "Форум": ИНФРА-М., 2006. – 432с.

2. Информатика: 3-е изд. перераб. / под ред. Н.В.Макаровой. – М.: Финансы и статистика, 2009. – 768 с.

3. Информатика / В. А. Каймин. – М.: ИД "Форум": ИНФРА-М, 2008. – 285 с.

4. Информатика: аппаратные средства персонального компьютера: Учеб. пособие. / В. Н. Яшин. – М.: ИНФРА-М, 2008. – 254 с.

5. Информатика. Учебное пособие / Попова О.В. Красноярск: Красноярский институт экономики Санкт-Петербургской академии управления и экономики (НОУ ВПО), 2007. — 186 с.

1. Информатика, часть 1: Учебно-методическое пособие для студентов очной и заочной форм обучения / Болотов А. М., Вологжанин О.Ю., Катанова Т.Н., Сыромятников И.И., Хренова Н.Ф. – Пермский институт (филиал) ГОУ ВПО "Российский государственный торгово-экономический университет": Издательство "ОТ и ДО", 2009. – 163 стр.

2. Введение в информатику. Лабораторные работы. / Авт.-сост. А.П. Шестаков; Перм. ун-т. — Пермь, 1999. (Ч. I — 56 с.)

Читайте также:  Как восстановить рейд массив

3. Арифметические операции в позиционных системах счисления. Электронный ресурс: http://www.chebgym5.ru/inf/p32aa1.html

4. Представление информации в компьютере. Электронный ресурс: http://ulkolledg.narod.ru/material/Burdina_2/index.htm

Последнее изменение этой страницы: 2016-12-16; Нарушение авторского права страницы

Практическая работа №2

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

Целью работы является изучение представления вещественных чисел с плавающей точкой в памяти компьютера.

2. Теоретическая часть

Числовые величины, которые могут принимать любые значения (целые и дробные) называются вещественными числами. В математике также используется термин «действительные числа». Решение большинства математических задач сводится к вычислениям с вещественными числами.

Вещественные числа в памяти компьютера представляются в форме с плавающей точкой.

Форма с плавающей точкой использует представление вещественного числа R в виде произведения мантиссы m (одна из частей числа, которое представлено форматом с плавающей точкой) на основание системы счисления в целой степени n, которую называют порядком:

(1)

Например, число 46,578 можно записать в следующем виде: , где m = 0,46578 – мантисса, n = 2 – порядок, p = 10 – основание системы счисления. Порядок указывает количество позиций и направление смещения десятичной точки в мантиссе, то есть если порядок положительный, то движение идет вправо, если отрицательный, то влево. Отсюда и название «плавающая точка», то есть точка, которая должна «переплыть», либо сместиться в мантиссе.

Однако справедливы и следующие равенства:

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

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

2.1. Представление вещественных чисел в памяти компьютера

Пусть в памяти компьютера вещественное число представляется в форме с плавающей точкой в двоичной системе счисления (p=2) и занимает ячейку размером 4 байта. В ячейке должна содержаться следующая информация о числе: знак числа, порядок и значащие цифры мантиссы. На рисунке 1, представлено как располагается информация в ячейке:

Рис.1. Представление числа в ЭВМ

В старшем бите 1-го байта хранится знак числа: 0 – положительное, 1– отрицательное. Оставшиеся 7 бит первого байта отдаются под машинный порядок. Во втором, третьем и четвертом байтах хранятся значащие цифры мантиссы.

Под машинным порядком понимается порядок n из формулы (1), в двоичной системе под него отдано 7 бит и значения в нем могут быть от 00000002 до 11111112 , либо что означает в десятичной системе от 0 до 127 (всего 128 значений порядка). Знак порядка в ячейке не хранится, но порядок может быть как положительным, так и отрицательным. Поэтому 128 значений делятся поровну между положительными и отрицательными значениями порядка. В таком случае между машинным порядком и истинным (математическим) устанавливается следующее соответствие:

admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *