Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Хранение в памяти вещественных чисел

В $60$-х и $70$-х гг. не было единопризнанного стандарта представления чисел с плавающей запятой, из-за чего программы того времени не были переносимыми приложениями. Также большой проблемой были «странности» разных компьютеров, которые нужно было знать и учитывать при создании программ.

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

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

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

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

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

Нормализованная запись числа

Определение 1

Запись в виде

\[a=\pm m\cdot q^n\]

является нормализованной записью отличного от нуля действительного числа,

где $n$ -- любое целое число (в том числе и ноль),

$m$ -- правильная дробь в системе счисления с основой $q$, у которой первая цифра после запятой не равна нулю, то есть $\frac{1}{q}\le m

$m$ называется мантиссой числа, $n$ -- порядком числа, $q$ -- основанием системы счисления.

Пример 1

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

\[1.3579=0.13579\cdot {10}^1;\] \[10000=0.1\cdot {10}^5;\] \[0,123456=0.123456\cdot {10}^0.\]

Приведем число восьмеричной системы счисления к нормализованной записи:

${0,0000119}_8={0.119}_8\cdot 8^{-4}$ (порядок записан в десятичной системе).

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

\[{200.002}_2={0.200002}_2\cdot 2^{-3}.\]
«Хранение в памяти вещественных чисел» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

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

Определение 2

Нормализованная экспоненциальная запись (НЭЗ) числа - это запись в виде

\[a=\pm m\cdot q^n,\]

где $n$ -- любое целое число (в том числе и ноль),

$m$ -- правильная дробь в системе счисления с основой $q$, целая часть которой состоит из одной цифры,

$m$ --мантисса числа, а $n$ -- порядок (или экспонента) числа.

Рассмотрим вышеописанные числа в нормализованной экспоненциальной записи.

Пример 2

НЭЗ десятичных чисел:

\[1.3579=0.13579\cdot {10}^1=1.3579\cdot {10}^0;\] \[10000=0.1\cdot {10}^5=1.0\cdot {10}^4;\] \[0.123456=0.123456\cdot {10}^0=1.23456\cdot {10}^{-1}.\]

НЭЗ восьмеричного числа:

\[{0.0000119}_8={0.119}_8\cdot 8^{-4}={1.19}_8\cdot 8^{-5}.\]

НЭЗ двоичного числа:

\[{200.002}_2={0.200002}_2\cdot 2^{-3}={2.00002}_2\cdot 2^{-4}.\]
Замечание 1

Обратите внимание, что в НЭЗ записи первая цифра после запятой может быть нулём, в отличие от нормализованной записи.

Хранение чисел с плавающей запятой

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

Если для задания порядка выделено k разрядов, то к истинному порядку (ИП) прибавляют смещение, таким образом, смещённый порядок (СП) рассчитывается по формуле:

Пример 3

Найдем смещённый порядок для истинного порядка, лежащего в диапазоне от $-127$ до $+128$.

Возьмем начальное значение ИП= $-127$:

\[СП=-127+2^{8-1}-1=-127+128-1=0.\]

Возьмем конечное значение ИП = $128$:

\[СП=128+2^{8-1}-1=128+128-1=255.\]

Таким образом, ИП, лежащий в диапазоне от $-127$ до $+128$, представляется смещённым порядком, значения которого меняются в диапазоне от $0$ до $255$.

Алгоритм представления вещественного числа:

  1. Перевести число в двоичную систему счисления.

  2. Привести число к нормализованной записи.

  3. Найти смещённый порядок числа.

  4. Поместить знак, порядок и мантиссу в соответствующие разряды.

Пример 4

Представим число $-25.625$ в $4$-байтовом представлении ($1$ бит отводится под знак числа, $8$ бит -- под смещённый порядок, остальные биты -- под мантиссу).

Будем действовать по алгоритму:

  1. Переведем число $-25.625$ в двоичный код:



    Рисунок 1.

    \[{25}_{10}={11001}_2\]



    Рисунок 2.

    \[{25}_{10}={11001}_2\] \[{0.625}_{10}={0.101}_2\] \[{-25.625}_{10}={-11001.101}_2\]
  2. Приведем число к нормализованному виду:

    \[{-11001.101}_2={-1.1001101}_2\cdot 2^4\]
  3. Найдем смещенный порядок числа:

    \[СП=127+4=131\]
  4. Поместим знак, порядок и мантиссу в соответствующие разряды:



    Рисунок 3.

Дата написания статьи: 18.04.2016
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot