Студопедия Главная Случайная страница Обратная связь

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

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





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

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; просмотров: 1759. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

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