Студопедия — Хранение в ЭВМ дробных чисел
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Хранение в ЭВМ дробных чисел






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

N = M ´ (2 k)10 = M ´ (10 k)2,

где M – мантисса числа; 2 k – характеристика; k – порядок числа (целое число).

Мантисса числа является правильной дробью (| M | < 1). Мантисса содержит цифры числа, а с помощью порядка указывается положение разделительной точки.

Например, двоичное число 1011.012 можно представить следующим образом:

1011.012 = 0.01011012 ´ (25)10.

Если в разряде с номером –1 мантиссы располагается единица (|M| = 0.1...), то число N имеет нормализованное представление.

Например, двоичное число 1011.012 имеет нормализованное представление:

1011.012 = 0.1011012 ´ (24)10.

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

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

Представление нормализованного двоичного числа с плавающей точкой включает в себя:

знак числа (мантиссы);

значение порядка;

значение мантиссы.

Рассмотрим хранение дробного числа в коротком формате (рис. 5.7).

 

Зн Порядок Мантисса
  Первый байт   Второй байт Третий байт Четвертый байт
                                                               
b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b

 

Рис. 5.7

Знак числа (на рисунке он обозначен символом «Зн») представлен одним битом и равен 0, если число неотрицательное (положительное или 0), и равен 1, если число отрицательное.

Для хранения порядка выделяется 8 битов (7 битов первого байта и один старший бит второго байта числа). Порядок хранится в виде смещенного порядка. Для получения смещенного порядка необходимо воспользоваться выражением:

s = k + d,

где s – значение смещенного порядка, k – значение абсолютного порядка, d – смещение порядка (для короткого формата смещение порядка равно 127). Смещенный порядок хранится в формате целого двоичного числа с фиксированной точкой без знака. С помощью восьми битов можно представлять смещенный порядок от 0 до 255. Это означает, что значением абсолютного порядка нормализованного двоичного числа с плавающей точкой являются целые числа от -127 до 128. Использование смещенного порядка упрощает операции сравнения, сложения и вычитания над порядками, так как операции необходимо выполнять с неотрицательными числами.

Мантисса представляется в двоичной системе счисления и занимает 23 двоичных разряда (короткий формат). Старший разряд мантиссы (разряд с номером –1) не хранится, так как его значение у нормализованного числа всегда равно 1.

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

Нормализованное число двойной точности представляет собой 64-разрядное нормализованное число со знаком, 11-разрядным смещенным порядком и 52-разрядной мантиссой (старший разряд мантиссы не хранится).

Для хранения чисел с плавающей точкой может использоваться также и расширенный формат, позволяющий хранить ненормализованные числа в виде 80-разрядного числа со знаком, 15-разрядным смещенным порядком и 64-разрядной мантиссой.

Процедура получения представления дробного числа в коротком формате, заданного в десятичной системе счисления, следующая:

1. Перевод исходного десятичного числа в двоичную систему счисления. При переводе необходимо определить точность перевода. Рассмотрим два случая.

1.1. Абсолютная величина исходного числа не меньше единицы. В этом случае точность перевода m определяется из равенства:

m + n + 1=25; m = 24 – n,

где m – точность перевода, количество разрядов дробной части искомого числа; n + 1 – количество разрядов целой части искомого двоичного числа (n – номер старшего разряда). Для того чтобы определить точность перевода m, необходимо перевести целую часть исходного числа в двоичную систему счисления, определить номер старшего разряда n полученного двоичного числа и затем воспользоваться выражением для определения точности перевода.

1.2. Значение десятичного исходного числа по абсолютной величине, не меньшей единицы.Для определения точности перевода в этом случае необходимо подсчитать количество нулей l, которые располагаются в дробной части искомого двоичного числа, расположенных между разделительной точкой и первым разрядом, равным единице. Эту единицу можно отыскать, просматривая искомое число от разделительной точки вправо (например, для числа 0.000011012 l = 4). Тогда точность перевода m будет определяться выражением:

m = l + 25.

2. Округление числа. Для того чтобы округлить число, необходимо к полученному двоичному числу прибавить единицу, по весу равную единице младшего разряда (2- m, где – m – номер младшего разряда двоичного числа). После выполнения сложения разряд с номером – m отбрасывается.

3. Нормализация числа. В результате нормализации числа необходимо получить мантиссу, которая будет располагаться на полусегменте от 0.5 до 1 – x: [0.5; 1), т.е. x ≥ 0.5, но x < 1. Это достигается перемещением разделительной точки. Изменение значения числа компенсируется изменением порядка.

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

3.1. Если значение числа не меньше 1, то разделительная точка перемещается влево.

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

3.2. Если исходное число меньше 0.5, то в этом случае разделительная точка перемещается вправо и значение порядка уменьшается на величину, равную количеству разрядов, на которых переместится разделительная точка.

В результате будет получено число. Целая часть числа равна нулю, а старший разряд мантиссы равен единице. Единицу старшего разряда мантиссы можно не хранить, ее всегда можно восстановить. Оставшаяся дробная часть мантиссы будет содержать 23 двоичного разряда. В результате нормализации будет также получен абсолютный порядок числа.

4. Нахождение смещенного порядка. Для нахождения смещенного порядка необходимо к найденному абсолютному порядку прибавить число 127, затем полученный смещенный порядок необходимо перевести в двоичную систему счисления и дополнить полученное двоичное число незначащими нулями до разрядности 8. Максимальное значение смещенного порядка равно 255. Минимальное значение смещенного порядка равно 0. Смещенный порядок – неотрицательное число и хранится в формате восьмиразрядного целого двоичного числа с фиксированной точкой без знака. Абсолютный порядок может принимать значение от -127 до +128.

5. Размещение нормализованного двоичного числа с плавающей точкой в памяти.

Пример 5.23. Представим в коротком формате десятичное число 6.6.

1. Перевод исходного десятичного числа 10.610 в двоичную систему счисления:

10.610= 1010.(1001)2 =1010.1001100110011001100112.

2. Округление числа:

1010.1001100110011001100112

+ 0.000000000000000000001 2

1010.1001100110011001101002.

3. Нормализация числа:

1010.100110011001100110102= 0.1010100110011001100110102´ 2410.

4. Нахождение смещенного порядка:

410 + 12610 = 13010 = 100000102.

5. Размещение нормализованного двоичного числа с плавающей точкой в памяти(рис. 5.8, шестнадцатеричное представление числа 4129999 а в памяти).

 


 

Зн Порядок Мантисса
  Первый байт   Второй байт Третий байт Четвертый байт
                                                               
                                                               
              а

 

Рис. 5.8

 

Вопросы для повторения

1) Определите понятие системы счисления.

2) В чем различие числа и его записи?

3) В чем различие между позиционными и непозиционными системами счисления?

4) Привести примеры представления чисел в позиционной системе счисления.

5) В чем суть представления чисел с фиксированной точкой.

6) В чем суть представления чисел в 2-й, 8-й, 16-й системы счисления?

7) Как перевести число из 2-й системы счисления в 8-ю и 16-ю?

8) Как перевести число из 16-й системы в 8-ю и 2-ю?

9) Как перевести число из 2-й 8-й и 16-й систем счисления в 10-ю систему счисления?

10) Как перевести целое число из десятичной системы счисления в 2-ю систему счисления.

11) Как перевести дробное число из десятичной системы счисления в систему счисления с основанием q.

12) Как перевести дробное число из десятичной системы счисления в систему 2-ю и 8-ю системы счисления.

13) Как перевести дробное число из десятичной системы счисления в 16-ю систему счисления.

14) Перевести число 0.35 в 2-ю системы счисления?

15) Перевести число 0.35 в 8-ю систему счисления?

16) Перевести число 0.35 в 16-ю систему счисления?

17) Как получить дополнительный код числа?

18) Представить числа 12, 13, -34, 127, в дополнительном коде.

19) Найти значение в прямом коде числа 100100112.

20) Как хранятся в ЭВМ правильные дроби.

21) Зачем необходим смещенный порядок?

22) Что представляет мантисса числа?

23) Какой алгоритм преобразования дробных чисел.

24) Что такое точность перевода дробных чисел.

25) Представить число - 0.23 в коротком формате.

26) Представить число - 23.23 в коротком формате.

 

 








Дата добавления: 2014-11-12; просмотров: 1653. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

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

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия