8-900-374-94-44
[email protected]
Slide Image
Меню

Что такое плавающая точка: Плавающая точка | это… Что такое Плавающая точка?

Плавающая точка | это… Что такое Плавающая точка?

Структура числа

Число с плавающей запятой состоит из:

  • Мантиссы (выражающей значение числа без учёта порядка)
  • Знака мантиссы (указывающего на отрицательность или положительность числа)
  • Порядка (выражающего степень основания числа, на которое умножается мантисса)
  • Знака порядка

Нормальная форма

Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0; 1). Число с плавающей запятой, находящееся не в нормальной форме теряет точность по сравнению с нормальной формой. Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001 * 100, 0,001 * 10-1, 0,01 * 10-2, 0,1 * 10-3), поэтому распространена (особенно в информатике) также другая форма, в которой мантисса принимает значения от 1 (включительно) до 10 (не включительно).

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

Использование в вычислительных машинах

В вычислительных машинах показатель степени принято отделять от мантиссы буквой «E» (exponent). Например, число 1,528535047 × 10-25 в большинстве языков программирования высокого уровня записывается как 1.528535047E-25.

Краткий обзор

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

  • Наиболее распространённый путь представления значения числа из строки с цифрами — в виде целого числа — запятая (radix point) по-умолчанию находится в конце строки.
  • В общем математическом представлении строка из цифр может быть сколь угодно длинной, а положение запятой обозначается путём явной записи символа запятой (или, на Западе, точки) в нужном месте.
  • В системах с представлением чисел в формате с фиксированной запятой существует определённое условие относительно положения запятой. Например, в строке из 8 цифр условие может предписывать положение запятой в середине записи (между 4-й и 5-й цифрой). Таким образом, строка «00012345» обозначает число 1,2345 (нули слева всегда можно отбросить).
  • В экспоненциальной записи используют стандартный (нормальный?) вид представления чисел. Число считается записанным в стандартном виде, если оно записано в виде aqn, где a такое, что , называется мантиссой, n — целое, называется показатель степени и q — целое, основание системы счисления (на письме это обычно 10). То есть в мантиссе запятая помещается сразу после первой значащей (не равной нулю) цифры, считая слева направо, а дальнейшая запись даёт информацию о действительном значении числа. Например, период обращения (на орбите) спутника планеты Юпитера Ио́, который равен 152853,5047 с, в стандартном виде можно записать как 1,528535047 × 10
    5
    . Побочным эффектом ограничения на значения мантиссы является то, что в такой записи невозможно изобразить число 0.
  • Запись в форме с плавающей запятой похожа на запись чисел в стандартном виде, но мантисса и экспонента записываются раздельно. Мантисса записывается в формате с фиксированной запятой, подразумеваемой после первой цифры. Возвращаясь к примеру с Ио́, запись в форме с плавающей запятой будет 1528535047 с показателем 5. Это означает, что записанное число в 105 раз больше числа 1,528535047, то есть для получения подразумеваемого числа запятая сдвигается на 5 разрядов вправо. Однако, запись в форме с плавающей запятой используется в основном в электронном представлении чисел, при котором используется основание системы счисления 2, а не 10. Кроме того, в двоичной записи мантисса обычно денормализована, то есть запятая подразумевается до первой цифры, а не после, и целой части вообще не имеется ввиду — так появляется возможность и значение 0 сохранить естественным образом.
    Таким образом, десятичная 9 в двоичном представлении с плавающей запятой будет записана как мантисса +1001000…0 и показатель +0…0100. Отсюда, например, беды с двоичным представлением чисел типа одной десятой (0,1), для которой двоичное представление мантиссы оказывается периодической двоичной дробью — по аналогии с 1/3, которую нельзя конечным количеством цифр записать в десятичной системе счисления.

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

0,12 × 0,12 = 0,0144

в нормальной форме представляется в виде

(1,20 × 10−1) × (1,20 × 10−1) = (1,44 × 10−2).

В формате с фиксированной запятой мы бы получили вынужденное округление

0,120 × 0,120 = 0,014.

Мы потеряли крайний правый разряд числа, так как данный формат не позволяет запятой «плавать» по записи числа.

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

Диапазон чисел, которые можно записать данным способом, зависит от количества бит, отведённых для представления мантиссы и показателя. На обычной 32-битной вычислительной машине, использующей двойную точность (64 бита), мантисса составляет 52 бита + 1 знаковый, показатель — 11 бит. Таким образом получаем диапазон точности примерно от 4,94 × 10

−324 до 1.79 × 10308 (от 2−52 × 2−1022 до ~1 × 21024). Пара значений показателя зарезервирована для обеспечения возможности представления специальных чисел. К ним относятся значения бесконечность), получающихся в результате операций типа деления на ноль нуля, положительных и отрицательных чисел. Также сюда попадают денормализованные числа, у которых мантисса меньше единицы. В специализированных устройствах (например GPU) поддержка специальных чисел часто отсутствует. Существуют программные пакеты, в которых объём памяти выделенный под мантиссу и показатель задаётся программно, и ограничивается лишь объёмом доступной памяти ЭВМ.

Плавающая точка | это… Что такое Плавающая точка?

Структура числа

Число с плавающей запятой состоит из:

  • Мантиссы (выражающей значение числа без учёта порядка)
  • Знака мантиссы (указывающего на отрицательность или положительность числа)
  • Порядка (выражающего степень основания числа, на которое умножается мантисса)
  • Знака порядка

Нормальная форма

Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0; 1). Число с плавающей запятой, находящееся не в нормальной форме теряет точность по сравнению с нормальной формой. Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001 * 100, 0,001 * 10-1, 0,01 * 10-2, 0,1 * 10-3), поэтому распространена (особенно в информатике) также другая форма, в которой мантисса принимает значения от 1 (включительно) до 10 (не включительно). В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.

Использование в вычислительных машинах

В вычислительных машинах показатель степени принято отделять от мантиссы буквой «E» (exponent). Например, число 1,528535047 × 10-25 в большинстве языков программирования высокого уровня записывается как 1.528535047E-25.

Краткий обзор

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

  • Наиболее распространённый путь представления значения числа из строки с цифрами — в виде целого числа — запятая (radix point) по-умолчанию находится в конце строки.
  • В общем математическом представлении строка из цифр может быть сколь угодно длинной, а положение запятой обозначается путём явной записи символа запятой (или, на Западе, точки) в нужном месте.
  • В системах с представлением чисел в формате с фиксированной запятой существует определённое условие относительно положения запятой. Например, в строке из 8 цифр условие может предписывать положение запятой в середине записи (между 4-й и 5-й цифрой). Таким образом, строка «00012345» обозначает число 1,2345 (нули слева всегда можно отбросить).
  • В экспоненциальной записи используют стандартный (нормальный?) вид представления чисел. Число считается записанным в стандартном виде, если оно записано в виде aqn, где a такое, что , называется мантиссой, n — целое, называется показатель степени и q — целое, основание системы счисления (на письме это обычно 10). То есть в мантиссе запятая помещается сразу после первой значащей (не равной нулю) цифры, считая слева направо, а дальнейшая запись даёт информацию о действительном значении числа. Например, период обращения (на орбите) спутника планеты Юпитера Ио́, который равен 152853,5047 с, в стандартном виде можно записать как 1,528535047 × 10
    5
    . Побочным эффектом ограничения на значения мантиссы является то, что в такой записи невозможно изобразить число 0.
  • Запись в форме с плавающей запятой похожа на запись чисел в стандартном виде, но мантисса и экспонента записываются раздельно. Мантисса записывается в формате с фиксированной запятой, подразумеваемой после первой цифры. Возвращаясь к примеру с Ио́, запись в форме с плавающей запятой будет 1528535047 с показателем 5. Это означает, что записанное число в 105 раз больше числа 1,528535047, то есть для получения подразумеваемого числа запятая сдвигается на 5 разрядов вправо. Однако, запись в форме с плавающей запятой используется в основном в электронном представлении чисел, при котором используется основание системы счисления 2, а не 10. Кроме того, в двоичной записи мантисса обычно денормализована, то есть запятая подразумевается до первой цифры, а не после, и целой части вообще не имеется ввиду — так появляется возможность и значение 0 сохранить естественным образом.
    Таким образом, десятичная 9 в двоичном представлении с плавающей запятой будет записана как мантисса +1001000…0 и показатель +0…0100. Отсюда, например, беды с двоичным представлением чисел типа одной десятой (0,1), для которой двоичное представление мантиссы оказывается периодической двоичной дробью — по аналогии с 1/3, которую нельзя конечным количеством цифр записать в десятичной системе счисления.

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

0,12 × 0,12 = 0,0144

в нормальной форме представляется в виде

(1,20 × 10−1) × (1,20 × 10−1) = (1,44 × 10−2).

В формате с фиксированной запятой мы бы получили вынужденное округление

0,120 × 0,120 = 0,014.

Мы потеряли крайний правый разряд числа, так как данный формат не позволяет запятой «плавать» по записи числа.

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

Диапазон чисел, которые можно записать данным способом, зависит от количества бит, отведённых для представления мантиссы и показателя. На обычной 32-битной вычислительной машине, использующей двойную точность (64 бита), мантисса составляет 52 бита + 1 знаковый, показатель — 11 бит. Таким образом получаем диапазон точности примерно от 4,94 × 10−324 до 1.79 × 10308 (от 2−52 × 2−1022 до ~1 × 21024). Пара значений показателя зарезервирована для обеспечения возможности представления специальных чисел. К ним относятся значения бесконечность), получающихся в результате операций типа деления на ноль нуля, положительных и отрицательных чисел. Также сюда попадают денормализованные числа, у которых мантисса меньше единицы. В специализированных устройствах (например GPU) поддержка специальных чисел часто отсутствует. Существуют программные пакеты, в которых объём памяти выделенный под мантиссу и показатель задаётся программно, и ограничивается лишь объёмом доступной памяти ЭВМ.

Руководство по операциям с плавающей запятой — Числа с плавающей запятой

Зачем нужны числа с плавающей запятой

Поскольку память компьютера ограничена, вы не можете хранить числа с бесконечной точностью, независимо от того, используете ли вы двоичные или десятичные дроби: в какой-то момент вы надо отрезать. Но какая точность нужна? А где нужен? Сколько целых цифр и сколько дробей?

  • Для инженера, строящего шоссе, не имеет значения, 10 метров оно или 10,0001 метра в ширину — его измерения, вероятно, изначально не так точны.
  • Для того, кто проектирует микрочип, 0,0001 метра (десятая доля миллиметра) — огромная разница. Но им никогда не придется иметь дело с расстоянием, превышающим 0,1 метра.
  • Физик должен использовать скорость света (около 300000000) и гравитационную постоянную Ньютона (около 0,00000000000667) вместе в одном вычислении.

Чтобы удовлетворить инженера и разработчика микросхем, числовой формат должен обеспечивать точность для чисел самых разных величин. Однако только 9Требуется относительная 0005 точность. Чтобы удовлетворить физика, должна быть возможность выполнять вычисления с использованием чисел с разными величинами.

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

Как работают числа с плавающей запятой

Идея состоит в том, чтобы составить число из двух основных частей:

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

Такой формат удовлетворяет всем требованиям:

  • Он может представлять числа с самыми разными величинами (ограничено длиной экспоненты)
  • Обеспечивает одинаковую относительную точность для всех величин (ограниченных длиной мантиссы)
  • Это позволяет производить расчеты по величине: умножение очень большого и очень маленького числа сохраняет точность обоих в результате.

Десятичные числа с плавающей запятой обычно принимают форму экспоненциальной записи с явная точка всегда между 1-й и 2-й цифрами. Показатель степени либо написано явно, включая базу, либо используется e для отделить его от мантиссы.

Значимая Экспонента Научное обозначение Значение фиксированной точки
1,5 4 1,5 ⋅ 10 4 15000
-2,001 2 -2,001 ⋅ 10 2 -200,1
5-3 5 ⋅ 10 -3 0,005
6,667 -11 6.667е-11 0,00000000006667

Стандарт

Почти все аппаратные средства и языки программирования используют числа с плавающей запятой в тех же двоичных форматах, которые определены в стандарте IEEE 754. Обычные форматы имеют общую длину 32 или 64 бита:

Формат Всего битов Значимые биты Биты экспоненты Наименьшее число Наибольшее число
Одинарная точность 32 23 + 1 знак 8 ок. 1,2 ⋅ 10 -38 ок. 3,4 ⋅ 10 38
Двойная точность 64 52 + 1 знак 11 ок. 2,2 ⋅ 10 -308 ок. 1,8 ⋅ 10 308

Обратите внимание, что есть некоторые особенности:

  • Фактическая последовательность битов — это первый бит знака, за которым следует показатель степени и, наконец, биты мантиссы.
  • Показатель степени не имеет знака; вместо этого из него вычитается смещение экспоненты , равное (127 для одинарной и 1023 для двойной точности). Это и последовательность битов позволяют правильно сравнивать и сортировать числа с плавающей запятой, даже если они интерпретируются как целые числа.
  • Старшая значащая цифра значащего выражения опущена и принимается равной 1, за исключением субнормальных чисел , которые отмечены нулевым показателем и допускают диапазон чисел за пределами наименьших чисел, указанных в таблице выше, за счет точности.
  • Существуют отдельные положительных и отрицательных нулевых значения , отличающиеся битом знака, где все остальные биты равны 0. Их следует считать равными, даже если их битовые комбинации различны.
  • Существуют специальные положительных и отрицательных бесконечных значения, где показатель степени состоит из 1 бит, а мантиссы — из 0 бит. Это результаты вычислений, в которых превышен положительный диапазон показателя степени, или деления обычного числа на ноль.
  • Существуют специальные значения , а не числа (или NaN), где показатель степени равен 1 битам, а мантиссы равны , а не , все 0 битам. Они представляют собой результат различных неопределенных вычислений (таких как умножение 0 на бесконечность, любые вычисления, включающие значение NaN, или случаи, специфичные для приложения). Даже идентичные по битам значения NaN должны считаться равными , а не .

Если это кажется слишком абстрактным и вы хотите увидеть, как некоторые конкретные значения выглядят в IEE 754, попробуйте Float Toy, визуализацию IEEE 754 или Float Exposed.

© Опубликовано на сайте с плавающей точкой-gui.de под Creative Commons Attribution License (BY)

Определение числа с плавающей запятой | ПКМаг

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

Операции с плавающей запятой могут быть реализованы в программном обеспечении или в модуле с плавающей запятой (FPU), который может быть отдельной микросхемой «математического сопроцессора» или схемой в ЦП. См. математический сопроцессор, двоичные числа и NaN.

    ПРИМЕРЫ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ 
    Значение экспоненты мантиссы 
    71 0 71
    71 1 710
    71 2 7100
    71 -1 7,1
 

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

Реклама

Истории PCMag, которые вам понравятся

{X-html заменен}

Выбор редакции

ЭТО ОПРЕДЕЛЕНИЕ ПРЕДНАЗНАЧЕНО ТОЛЬКО ДЛЯ ЛИЧНОГО ИСПОЛЬЗОВАНИЯ. Любое другое воспроизведение требует разрешения.
Copyright © 1981-2023. The Computer Language(Opens in a new window) Co Inc. Все права защищены.

Информационные бюллетени PCMag

Информационные бюллетени PCMag

Наши лучшие истории в вашем почтовом ящике

Следите за новостями PCMag

  • Фейсбук (Открывается в новом окне)
  • Твиттер (Откроется в новом окне)
  • Флипборд (Открывается в новом окне)
  • Гугл (откроется в новом окне)
  • Инстаграм (откроется в новом окне)
  • Pinterest (Открывается в новом окне)

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

Как мы тестируем Редакционные принципы

  • (Открывается в новом окне) Логотип Зиффмедиа
  • (Открывается в новом окне) Логотип Аскмен
  • (Открывается в новом окне) Логотип Экстримтек
  • (Открывается в новом окне) Логотип ИНГ
  • (Открывается в новом окне) Логотип Mashable
  • (Открывается в новом окне) Предлагает логотип
  • (Открывается в новом окне) Логотип RetailMeNot
  • (Открывается в новом окне) Логотип Speedtest
  • (Открывается в новом окне) Логотип Спайсворкс

(Открывается в новом окне)

PCMag поддерживает Group Black и ее миссию по увеличению разнообразия голосов в СМИ и владельцев СМИ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *