Представление числовых данных с плавающей запятой


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

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

Рассмотрим ряд чисел, представленных в разных формах:

Число Естественная форма Нормальная форма
Целая часть Дробная часть Мантисса Масштабный коэффициент Для основания системы счисления =10
Значащие цифры мантиссы Порядок
+ 350 ,0 + 0,35 ´ 10+3 + 35 + 3
-35 – 35 ,00 – 0,35 ´ 10+2 – 35 + 2
0,35 + 0 ,350 + 0,35 ´ 100 + 35
0,035 + 0 ,035 + 0,35 ´ 10–1 + 35 – 1

 

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

Естественная форма записи числа соответствует форме представления чисел с фиксированной запятой. Для такого представления важно место запятой. Для представления всех четырех чисел без масштабирования требуется шестиразрядный регистр (три разряда для целой части числа и три – для дробной).

Нормальная форма представляет эти числа в виде нормализованной дроби с "индивидуальным" масштабным коэффициентом.

Например: 350,0 = 0,35 ´ 103. В общем случае число А в нормальной форме записывается как: А = m ´ qn, где:

m мантисса - нормализованная дробь,

q основание системы счисления,

n порядок числа.

Нормальная форма представления соответствует форме представления чисел с плавающей запятой. Это полулогарифмическая форма представления чисел. Она предоставляет более широкий диапазон представления чисел при ограниченной разрядности регистров хранения.

Основание системы счисления (q) задается по умолчанию. Для большинства микропроцессоров q=2.

В случае задания основания системы счисления по умолчанию, число 350,0 может быть записано в виде пары чисел: 35 и 3. Первое число – это запись значащих чисел, второе число (порядок числа) можно интерпретировать, как координату запятой. В данном случае место запятой – после третьей позиции цифр числа. Отсюда вытекает и название формы представления чисел – с плавающей запятой.

Порядок числа может быть как положительным, так и отрицательным. Для чисел больших единицы – порядок положительный, для дробных чисел – отрицательный.

Для упрощения обработки чисел в форме с плавающей запятой используют "сдвинутый" порядок - характеристику. Характеристика – это порядок "сдвинутый" в область положительных значений. Для получения характеристики из порядка в старший разряд порядка прибавляют 1.

Например, пусть для записи порядка используются три двоичных разряда. С учетом знака в эти разряды можно записать числа в диапазоне от минус 4 до плюс 3:

 

Порядок   Порядок в дополнительном коде Характеристика (сдвинутый порядок)
–4(10) 1,00(2) 000(2)
–3(10) 1,01(2) 001(2)
–2(10) 1,10(2) 010(2)
–1(10) 1,11(2) 011(2)
0(10) 0,00(2) 100(2)
+1(10) 0,01(2) 101(2)
+2(10) 0,10(2) 110(2)
+3(10) 0,11(2) 111(2)

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

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

Как правило, в ЭВМ отрицательные значения чисел (мантиссы) задаются в прямом коде.

Мантисса – это нормализованная дробь.

По классическому определению, нормализованная дробь - это дробь, у которой первая цифра после запятой отлична от нуля, т.е., для нормализованной дроби должно выполняться условие: ÷mê<1

Для двоичной системы счисления нормализованная дробь имеет вид 0,1 а2 а3 и т.д., то есть |m|>1/2.

Первые ЭВМ использовали именно такие мантиссы. Но, при такой записи, целые числа представлялись с погрешностью. Например, число 1 представлялось в виде мантиссы: 0,111111111…11 с нулевым порядком.

.

При этом произведение 2´2 после переводов исходных чисел из десятичной системы счисления в двоичную и результата – обратно в десятичную ЭВМ выдавала в виде дробного числа: 3,99999.

В современных ЭВМ, например в РС Intel и PDP-11, мантиссу определяют как неправильную дробь, целая часть которой равна 1, т.е. 2>m ≥1.

В этом случае целые числа задаются без погрешностей. Но дело тут не столько в свойствах систем счисления, сколько в методах перевода чисел. Например, число 1 можно задавать без погрешности и при дробной мантиссе: 1 = 0,1(2) ´ 21

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

Например, в МП Intel предусмотрены три формата: короткий формат (обычной точности), формат двойной точности и расширенный (вещественный) формат (real).

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

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

Короткий формат: знак числа (мантиссы) – 1 бит, характеристика (сдвинутый порядок): – 1 байт и мантисса: – 3 байта. При хранении в памяти первую значащую цифру мантиссы (в старых ЭВМ – единицу после запятой или, в современных ЭВМ, – единицу до запятой) не записывают (задают по умолчанию). В результате этого, короткий формат чисел с плавающей запятой при хранении содержит 32 бита (4 байта).

Формат двойной точности: знак числа (мантиссы) – 1 бит, характеристика (сдвинутый порядок): – 11 бит и мантисса: – 53 бита (включая первую скрытую цифру). Всего, с учетом скрытой цифры мантиссы, – 64 бита (8 байт).

Расширенный (вещественный) формат: знак числа (мантиссы) – 1 бит, характеристика (сдвинутый порядок) – 15 бит, мантисса – 64 бит (8 байт), включая первую цифру мантиссы. Всего – 80 бит (10 байт).

Вопросы для самопроверки

1. Назовите две основные причины использования двоичной системы счисления в ЭВМ.

2. Назовите основной способ перевода целых чисел из одной системы счисления в другую.

3. Назовите основной способ перевода дробных чисел из одной системы счисления в другую.

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

5. Определите асимметрию дополнительного кода.

6. Назовите особенности и причины использования модифицированного дополнительного кода.

7. Назовите особенности использования обратного кода (преимущества и недостатки).

8. Охарактеризуйте форму представления чисел с фиксированной запятой.

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

10. Охарактеризуйте форму представления чисел с плавающей запятой.

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

12. Каковы параметры форматов данных с фиксированной запятой, которые Вам известны.

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




Дата добавления: 2022-02-05; просмотров: 371;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.011 сек.