рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

Представление вещественных чисел в формате с плавающей запятой - раздел Информатика, Кодирование числовой информации: позиционные и непозиционные системы счисления. Двоичная система счисления   Числовые Величины, Которые Могут Принимать Любые Значения (Це...

 

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

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

А=m x qp

Например, число 139,76 можно записать в виде: 0,13976х103. Здесь m=0,13976 – мантисса, p=3 – порядок. Порядок указывает, на какое количество позиций и в каком направлении должна «переплыть», т.е. сместиться десятичная в мантиссе. Отсюда название «плавающая точка». Однако справедливы и следующие равенства:

139,76=13,976х101 = 1,3976х102 = 0,013976х104 = 13976 х10-2

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

0.1q £m< 1q ,

то есть мантисса меньше единицы и первая значащая цифра - не ноль. Следовательно, для рассмотренного числа нормализованным представлением будет: 0,13976х103.

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

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

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

 

1-й байт 2-й байт 3-й байт 4-й байт

 

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

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

 

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

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

Мq = q + 64

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

Мq = q + 10000002

 

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

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

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

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

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

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

 

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

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

139,7610 = 10001011,11000010100011112

 

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

10001011,11000010100011112 = 0,1000101111000010100011112 х101000,

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

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

1000 – порядок (810=10002).

 

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

Mq2 = 1000 + 1000000 = 1001000

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

 

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

 

– Конец работы –

Эта тема принадлежит разделу:

Кодирование числовой информации: позиционные и непозиционные системы счисления. Двоичная система счисления

Основные достоинства любой позиционной системы счисления простота выполнения арифметических операций и ограниченное количество символов цифр... Арифметические операции во всех позиционных системах счисления выполняются по...

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Алгоритмы перевода чисел
1.1. Перевод десятичного числа в систему счисления с основанием q и обратно 1.2. Перевод чисел из двоичной системы счисления в систему счисления с основанием 2

Компьютерное представление чисел
3.1. Представление целых чисел в формате с фиксированной запятой 3.2. Представление вещественных чисел в формате с плавающей запятой Рассмотрим, как кодируется числовая информаци

Алгоритмы перевода чисел
  1.1 Алгоритм перевода десятичного числа в систему счисления с основанием q и обратно Для перевода смешанного числа следует переводить его целую

Компьютерное представление чисел
  Информация в памяти ЭВМ записывается в форме цифрового двоичного кода. С этой целью ЭВМ содержит большое количество ячеек памяти и регистров (от лат. regestum – внесенное, записанно

Задачи и упражнения
1. Переведите целые числа из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления: а) 231 б) 564 в) 1023 г) 4096.   2. Перевед

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги