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

Плавающая точка – Что нужно знать про арифметику с плавающей запятой / Habr

Содержание

Что такое числа с плавающей запятой?

Формой представления действительных (или вещественных) чисел, где они хранятся как мантисса и показатель степени, являются числа с плавающей запятой (может быть, и точкой, как принято в англоязычных странах). Несмотря на это, число снабжено фиксированной относительной точностью и изменяющейся абсолютной. Представление, которое используется наиболее часто, утверждено стандартом IEEE 754. Математические операции, где используются числа с плавающей запятой, реализуются в вычислительных системах — как аппаратной, так и программной.

Точка или запятая

В подробном списке Decimal separator указаны те англоязычные и англофицированные страны, где в записях чисел дробная часть отделяется от целой части точкой, и потому терминологией этих стран принято название floating point — «плавающая точка». В Российской Федерации дробная часть от целой по традиции отделяется запятой, поэтому обозначает это же понятие исторически признанный термин «числа с плавающей запятой». Тем не менее, сегодня в технической документации и в русскоязычной литературе вполне допускаются оба эти варианта.

Термин «числа с плавающей запятой» произошёл от того, что позиционное представление числа представляет запятую (обычную десятичную или двоичную — компьютерную), которая может поместиться где угодно среди цифр строки. Такую её особенность обязательно оговаривают отдельно. Это значит, что представление чисел с плавающей запятой можно рассматривать как компьютерную реализацию экспоненциальной записи числа. Преимуществом использования такого представления над представлением формата с фиксированной запятой и целыми числами в том, что диапазон значений прирастает существенно при том, что относительная точность остаётся неизменной.

Пример

Если запятая в числе фиксированная, то записать его можно только одним форматом. Например, дано шесть разрядов целого в числе и два разряда в дробной части. Это можно сделать только таким образом: 123456,78. Формат чисел с плавающей запятой даёт полный простор для выражения. Например, даны те же самые восемь разрядов. Вариантов записи может быть сколько угодно, если программист не манкирует обязанностью завести двухразрядное дополнительное поле, где будет записывать показатели степени, которые обычно 10, от 0 и до 16, а разрядов при этом общим числом будет десять: 8+2.

Некоторые варианты записи, которые позволяет формат чисел с плавающей запятой: 12345678000000000000; 0,0000012345678; 123,45678; 1,2345678 и так далее. У данного формата есть даже единица измерения скорости! Вернее, быстродействия вычислительной системы, которая фиксирует скорость, с которой компьютер выполняет операции, где присутствует представление чисел с плавающей запятой. Измеряется это быстродействие в единицах FLOPS (floating-point operations per second, что переводится как количество операций в секунду с числами с плавающей запятой). Эта единица является основной в измерении скорости вычислительной системы.

Структура

Записать число в формате с плавающей запятой нужно следующим образом, соблюдая последовательность обязательных частей, поскольку эта запись является экспоненциальной, где представлены действительные числа как мантисса и порядок. Это необходимо для представления слишком больших и слишком малых чисел, их гораздо удобнее читать. Обязательные части: записываемое число (N), мантисса (M), знак порядка (p) и порядок (n). Два последних знака образуют характеристику числа. Значит, N = M . np. Так записываются числа с плавающей запятой. Примеры будут разнообразны.

1. Нужно записать числом один миллион так, чтобы не запутаться в нулях. 1000000 — это нормальная запись, арифметическая. А компьютерная выглядит так: 1,0 . 106. То есть, десять в шестой степени — три знака, в которые поместились целых шесть нулей. Таким образом и происходит представление чисел с фиксированной и плавающей запятой, где сразу же можно обнаружить различия в написании.

2. А такое трудное число, как 1435000000 (один миллиард четыреста тридцать пять тысяч) тоже просто может быть записано: 1,435 . 109, всего лишь. Так же и со знаком минус можно записать любое число. Вот этим и отличаются друг от друга числа с фиксированной и плавающей запятой.

Но это большие числа, как быть с малыми? Да тоже легко.

3. Например, как обозначить одну миллионную? 0,000001 = 1,0 . 10-6. Значительно облегчаются и написание числа, и его прочтение.

4. А посложнее? Пятьсот сорок шестая миллиардная: 0,000000546 = 546 . 10-9. Вот. Диапазон представления чисел с плавающей запятой очень широк.

Форма

Форма числа может быть нормальной или нормализованной. Нормальная — всегда соблюдает точность чисел с плавающей запятой. Нужно отметить, что мантисса в этой форме, не учитывая знак, находится на половине интервала: 0 1, значит, 0 ⩽ a < 1. Не в нормальной форме число свою точность теряет. Недостатком нормальной формы числа является то, что многие числа можно записывать разными способами, то есть неоднозначно. Пример разной записи одного и того же числа: 0,0001 = 0, 000001 . 102 = 0,00001 . 101 = 0,0001 . 100 = 0,001 . 10-1 = 0,01 . 10-2 и так можно ещё много. Именно поэтому в информатике используется другая, нормализованная форма записи, где мантисса десятичных чисел принимает значение от единицы (включительно) и таким образом до десяти (не включительно), и таким же образом мантисса двоичных чисел принимает значение от единицы (включительно) до двойки (не включительно).

Значит, 1 ⩽ a < 10. Это — двоичные числа с плавающей запятой, и данная форма записи любое число (кроме ноля) фиксирует единственным образом. Но тоже есть недостаток — невозможность в этом виде представить ноль. Поэтому информатикой предусматривается для числа 0 употребление специального признака (бит). Целая часть числа (старший разряд) мантиссы в двоичном числе кроме нуля в нормализованной форме равна 1 (неявная единица). Такая запись используется стандартом IEEE 754. Позиционные системы счисления, где основание больше двух (троичная, четверичная и другие системы), это свойство не приобрели.

Вещественные числа

Вещественные числа с плавающей запятой обычно только и бывают, поскольку это не единственный, но очень удобный способ представления действительного числа, как бы компромисс между диапазоном значений и точностью. Это аналог экспоненциальной записи, только выполненной в компьютере. Число с плавающей запятой — набор из отдельных двоичных разрядов, разделяющихся на знак (sign), порядок (exponent) и мантиссу (mantis). Самый распространённый формат IEEE 754 представляет число с плавающей запятой как набор битов, которые кодируют одной своей частью мантиссу, другой частью — степень, и одним битом указывается знак числа: ноль — это если оно положительное, единица — если число отрицательное. Весь порядок записывается целым числом (код со сдвигом), а мантисса — в нормализованной форме, её дробная часть — в двоичной системе.

Каждый знак — это один бит, который указывает знак для полностью числа с плавающей точкой. Мантисса и порядок — числа целые, они вкупе со знаком и делают представление числа с плавающей запятой. Порядок можно называть экспонентой или показателем степени. Далеко не все вещественные числа можно представить в компьютере в их точном значении, остальные же представляются значениями приближёнными. Гораздо более простой вариант — представить вещественное число с фиксированной точкой, где вещественная и целая части будут храниться отдельно. Вероятнее всего, таким образом, чтобы целой части отводилось всегда Х бит, а дробной — Y бит. Но архитектуры процессоров не знают такого способа, а потому предпочтение отдаётся числу с плавающей запятой.

Сложение

Сложение чисел с плавающей запятой довольно просто. В связи со стандартом IEEE 754 одинарная точность числа имеет огромное количество бит, поэтому лучше сразу переходить к примерам, причём лучше взять наименьшее представление числа с плавающей запятой. Например, два числа — X и Y.

ПеременнаяЗнакЭкспонентаМантисса
X01001110
Y00111000

Шаги будут следующими:

а) Числа нужно представить в нормированном виде. Явно представляется скрытая единица. Х = 1,110 . 22, а Y = 1,000 . 20.

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

Вычислить разность экспонент степени 2 — 0 = 2. Теперь сдвинуть мантиссу для компенсации этих изменений, то есть добавить 2 к показателю второго слагаемого, сдвинув таким образом запятую скрытой единицы на два пункта влево. Получается 0,0100 . 22. Это и будет эквивалент прежнему значению Y, то есть уже Y’.

в) Теперь нужно сложить мантиссы числа Х и скорректированного Y.

1,110 + 0,01 = 10,0

Экспонента всё ещё равна представленному показателю Х, которая равна 2.

г) Сумма, полученная на предыдущем этапе, сместила единицу нормализации, значит, нужно сдвинуть экспоненту и суммирование повторить. 10,0 с двумя битами слева от запятой, теперь число нужно нормализовать, то есть, переместить запятую влево на один пункт, а экспоненту соответственно увеличить на 1. Получается 1,000 . 23.

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

СуммаЗнакЭкспонентаМантисса
X + Y01010000

Вывод

Как видно, складывать такие числа не слишком сложно, ничего, что запятая плавает. Если, конечно, не считать приведение числа с меньшей экспонентой к числу с большей (в приведённом примере это были Y к Х), а также восстановление статус-кво, то есть выдача компенсации — передвижение запятой мантиссы влево. Когда сложение уже произведено, очень возможна и ещё одна сложность — перенормирование и усечение бит, если их количество не соответствует формату числа для его представления.

Умножение

Двоичная система счисления предлагает два способа, с помощью которых производится умножение чисел с плавающей запятой. Эта задача может быть выполнена умножением, которое начинается с младших разрядов и которое начинается со старших разрядов в множителе. Оба случая содержат целый ряд операций, последовательно складывающий частные произведения. Эти операции сложения управляются разрядами множителя. Значит, если в одном из разрядов множителя есть единица, то сумма частных произведений прирастает множимым с соответственным сдвигом. А если в разряд множителя прокрался ноль, тогда множимое не прибавляется.

Если производится умножение просто двух чисел, то цифры произведения в своём количестве не могут превышать количество цифр, содержащихся в сомножителях, более чем в два раза, и при больших числах это очень и очень много. Если же умножается несколько чисел, то произведение рискует не поместиться на экран. Потому число разрядов любого цифрового автомата является вполне конечным, и это вынуждает ограничиться как максимум удвоенным количество цифр сумматоров. А если количество разрядов ограничивается, в произведение неизбежно вносится погрешность. Если же объём вычислений велик, то погрешности накладываются, и в результате сильно возрастает общая погрешность. Здесь единственный выход — округлить результаты умножения, тогда погрешность произведения получится знакопеременной. Когда выполняется операция умножения, появляется возможность выйти за пределы сетки разрядов, но только со стороны младших, поскольку действует ограничение, наложенное на числа, которые представлены в форме с запятой фиксированной.

Некоторые пояснения

Начать лучше сначала. Самый распространённый путь представления числа — строкой цифр как целое число, где запятая подразумевается в самом конце. Строка эта может быть хоть какой длины, а запятая стоит в самом нужном для неё месте, отделяя целое число от дробной части его. Формату представления числа с фиксированной запятой система обязательно ставит определённые условия по поводу местоположения запятой. Экспоненциальная запись пользуется стандартным нормализованным видом представления чисел. Это a q n {\displaystyle aq^{n}} aqn. Здесь а {\displaystyle a}a, и называется это кружево мантиссой. Как раз об этом было сказано, что 0 ⩽ a < q. Далее всё должно быть уже понятно: n {/displaystyle n}n — целое, показатель степени, а q {/displaystyle q}q — тоже целое, являющееся основанием данной системы счисления (а в письме это чаще всего 10). Мантисса оставит запятую после первой же цифры, которая не ноль, а вот дальше по записи передаётся информация о настоящем значении числа.

Число с плавающей запятой очень похоже записывается на всем понятную стандартную запись чисел, только экспонента и мантисса записаны отдельно. Последняя к тому же и в нормализованном формате — с фиксированной запятой, которая украшает первую значащую цифру. Просто плавающая запятая используется в основном в компьютерном, то есть в электронном представлении, где система не десятичная, а двоичная, где даже мантисса денормализована переставлением запятой — теперь она перед первой цифрой, значит, до, а не после неё, там, где целой части в принципе может не быть. Например, наша родная десятичная система отдаст свою девятку двоичной системе на временное пользование. А та и запишет её мантиссой с плавающей запятой вот так: +1001000…0, а к ней и показатель +0…0100. Зато десятичная система не сумеет производить такие сложные вычисления, какие возможны в двоичной, используя форму с плавающей запятой.

Длинная арифметика

В электронных вычислительных машинах есть встроенные программные пакеты, где выделенный под мантиссу и показатель степени объём памяти задан программно, ограничиваясь лишь величиной памяти ЭВМ. Так выглядит длинная арифметика, то есть простые операции над числами, которые выполняет вычислительная машина. Это всё те же — вычитание и сложение, деление и умножение, элементарные функции и возведение в корень. Но только числа совсем другие, их разрядность может значительно превышать длину машинного слова. Реализация таких операций происходит не аппаратным путём, а программным, но широко используются базовые аппаратные средства в работе с числами значительно меньших порядков. Существует ещё и арифметика, где длина чисел ограничивается единственно объёмом памяти — произвольной точности арифметика. А длинную арифметику применяют во многих областях.

1. Для составления кода (процессоры, микроконтроллеры с низкой разрядностью — в 10 бит и восьмибитными регистрами разрядности, этого явно недостаточно, чтобы обрабатывать информацию с Analog-to-digital (Аналого-цифровой преобразователь), а потому не обойтись без длинной арифметики.

2. Также длинная арифметика используется для криптографии, где нужно обеспечение точности результата возведения в степень или умножения до 10309. Целочисленная арифметика используется по модулю m — большого натурального числа, и вовсе не обязательно простого.

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

Борьба с погрешностями

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

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

fb.ru

Лаб_3_плавающая точка

Лабораторная работа № 3.

Кодирование вещественных чисел.

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

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

, m – мантисса числа, q — основание системы счисления, n – порядок числа.

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

Для единообразия представления чисел с плавающей запятой используется нормализованная форма, при которой мантисса отвечает условию: , т.е. мантисса – правильная дробь, имеющая после запятой цифру, отличную от 0.

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

Например: , 0.555555 – нормализованная мантисса.

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

Формат с плавающей запятой

Кол-во разрядов, отвод. для хранен. числа

Кол-во разрядов, отвод. под порядок

Кол-во разрядов, отвод. под мантиссу

Точность вычислений (кол-во значащих цифр)

Максимальное значение порядка

Максимальное число

4 байта

8 разрядов

24 разряда

7 разрядов

8 байтов

11 разрядов

53 разряда

15 или 16 разрядов

Замечание: Диапазон изменения чисел определяется количеством разрядов, отведенных для хранения порядка числа. Точность определяется количеством разрядов, отведенных для хранения мантиссы.

Например: рассмотрим число обычной точности. Для порядка и его знака отводится 8 разрядов памяти; для мантиссы и ее знака – 24 разряда памяти.

 порядок  мантисса

знак порядка знак мантиссы

Машинный порядок, как мы видим из таблицы, изменяется от 0 до 127 (в десятичной системе счисления). Всего 128 значений. Порядок может быть как положительным, так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка: от -64 до 63.

Замечание. Машинный порядок смещен относительно математического и имеет только положительные значения. Смещение выбирается так, чтобы минимальному математическому значению порядка соответствовал ноль.

Связь между машинным порядком (МР) и математическим порядком (Р) выражается формулой: МР = Р + 64 – формула записана в десятичной системе счисления (в двоичной системе – МР = Р + 100 0000).

Пример: Представить десятичное число 250.1875 в формате с плавающей запятой в 4-байтовой разрядной сетке.

Алгоритм решения задачи.

1.Переведем число в двоичную систему счисления с 23 значащими цифрами:

2.Нормализуем мантиссу

3.Вычислим машинный порядок в двоичной системе счисления:

1000+100 0000=100 1000

4.Запишем представление числа в 4-байтовой ячейке памяти с учетом знака числа:

0

1001000

11111010

00110000

00000000

Операции с числами в формате с плавающей запятой.

Сложение и вычитание.

При сложении и вычитании чисел в формате с плавающей запятой сначала производится подготовительная операция выравнивания порядков.

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

После выполнения операции выравнивания порядков одинаковые разряды чисел оказываются расположенными в одних и тех же разрядах ячеек памяти. Теперь операции сложения и вычитания чисел сводятся к сложению или вычитанию мантисс.

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

Например: Сложить числа в формате с плавающей запятой —

1.Произведем выравнивание порядков

2.Выполним сложение мантисс

3.Результат получим в нормализованном виде

Умножение и деление.

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

Например: Перемножить числа в формате с плавающей запятой —

— результат

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

Например: Разделить числа в формате с плавающей запятой —

— результат

3

studfiles.net

ПЛАВАЮЩАЯ ТОЧКА — АЭС — ЖЖ


ПЛАВАЮЩАЯ ТОЧКА — это точка погруженная в жидкую среду (или в любой другой день недели, но непременно жидкий), и не упавшая под действием гравитации на дно резервуара.

Романтический образ ПТ впервые в литературе был поднят А. Грином. Его героиня Ассоль, брала на руки буссоль и выходила (песню заводила) на крутой утеса возле города Зурбаган. Что высматривала она на горизонте? В первую очередь ПТ. Наивная девочка из провинциальной глубинки надеялась на то, что если она засечет азимут ПТ раньше других наблюдателей, то ПТ непременно превратится в корабль с алыми парусами. А под парусами, конечно, окажется Прекрасный Принцип.
Наивная сказка. Времена Принципов (и прекрасных, и неприглядных) давно прошли!

Но, зато, пришло время досконально изучить ПТ. И наша Блабларатория с блеском сделала это!
В серии первоначальных экспериментов были опущены следующие теоретические допущения, проработаны наработанные работы работников, проведены детальные исследования и сделаны ошеломляющие выводы.

Силы действующие на точку в квадрате погруженную в сосуд с водой.

В условиях тотальной виртуализации мира, для компьютерного обывателя особо остро встает вопрос о существовании реального мира. Что это такое? Каковы его свойства? В ходе совместного исследования с мастером jorr‘ом нам удалось применить закон Эврики Ар-хим.меда к некоторым знакам препинания виртуального мира.

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

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

Но, интересно же все-таки, какие еще знаки препинания обладают положительной плавучестью? — задумались мы.

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

— Многоточие плавает — из них в бассейне делают цепочки поплавков для разметки дорожек.
— Двоеточие тоже плавает (потому как из точек), но заваливается на бок и моментально превращается в многоточие.
— Восклицательный знак тонет. Но где-то на половину. Потом всплывает. Но не сильно. Потом опять тонет. И так цикл повторяется неоднократно.
Окончательной стабилизации результата нам так и не удалось дождаться.
— Точка с запятой может сохранять вертикальное положение в воде (и точка, и запятая в достаточной мере плавучи, но у запятой есть утяжелённый хвостовик, что позволяет точке с запятой не опрокидываться подобно двоеточию). Может применяться наряду с восклицательным знаком для поплавков, буев и т.п…

— Вопросительный знак используется в промышленности для вытачивания рыболовных крючков. Не плавает — не положено.
Впрочем подцепленный рыбой вверх ногами на испанский манер, может проплыть силой ея мускулатуры изрядное расстояние.
— Тире не плавает, когда одно. Когда их много, то их увязывают в плот или лодку. И путешествуют на этой связке. (Опыты Т. Хейрдала «Дефис», «Прочерк», «Тире-Минус»).
— Тильды используются для формирования из неупорядоченных волн упорядоченных, когерентных. Такими вот когерентными волнами можно разрушать портовые постройки. Поэтому тильды секретны и используются только после соответствующего разрешения компетентных органов.
— Амперсанд — наименее плавучий из всех попавшихся нам знаков. Он камнем идет ко дну и цепляется за него своей скрепкой. Может быть использован только в качестве якоря (тем более что и ушко для якорной цепи изготавливается изначально).
— Кавычки вообще легче воздуха, поэтому не только что не плавают, но еще и летают над водой.

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

Помимо этого случается точки плавают в глазах. Их качество зависит от человека.
Вот у Годунова, у того «всё точечки кровавые в глазах»…
А скажем у йогов стеклянистые точки которые они праной называют видятся возможно это и есть «кавычки» (хотя мне сдается это больше похоже на стеклянистых червячков описанных Х. Насреддином в повести «Л. Соловьев»). Вполне возможно, так же, что в данном опыте наблюдалась Мнимая Часть комплексной плавающей точки! Которая вроде как существует, но при всём при этом её вроде как и нет!

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

Помимо этого во всей красе вставал вопрос о жесткости, твердости и упругости точки в условиях (смысловой) нагрузки, когда точка используется как ТОЧКА ОПОРЫ. Тот же самый Ар_хим.мед обещал перевернуть весь мир, если у него будет личная Т.О. (на наше счастье, этот милитарист давно помер). Так что, рассуждали мы, это оружие видимо похлеще философского камня (выпущенного древним иудейским философом из пращи в лоб одного библейского великана).

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

«В реале знаки препинания выполняют смыслооформительную функцию, однако в виртуале, исходя из ар-хим.медовых посылок, эта функция приобретает коромыслооформленные семантические черты, различающиеся по степени впертости-выпертости высказывания и, следовательно, его плавучести. Так, например, низкой степенью впертости и высокой плавучестью обладают сочетания :(, :/, :Е и :F, коромыслоформы :), ;), :Р или :\, напротив, высоковперты и низкоплавучи. Опытно-конструкторским путем специалистами АЭС была доказана также промежуточность плавучих свойств таких вариантов, как :О, %О и :*.

Отрицательные эмоции выпукливаются и плавают, как «г…» («гэ» с тремя точками), положительные — тонут от переизбытка чувств-с. А всякие некоромысловые, по виду отличающиеся, обладают в зависимости от содержания и тем и другим :)»

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

Таблица плавучести коромыслоформ им. Лакреции

Статья опубликована с милостивого соизволения профессора ne_fomenko

ru-ace.livejournal.com

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


плавающая точка
  1. FP
  2. floating point

 

плавающая точка
плавающая запятая

[Е.С.Алексеев, А.А.Мячев. Англо-русский толковый словарь по системотехнике ЭВМ. Москва 1993]

Тематики

  • информационные технологии в целом

Синонимы

  • плавающая запятая

EN

Русско-английский словарь нормативно-технической терминологии. academic.ru. 2015.

  • плавающая ставка процента
  • плавающая точка начала байта

Смотреть что такое «плавающая точка» в других словарях:

  • Плавающая точка — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • плавающая точка — плавающая запятая — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы плавающая запятая EN floating pointFP …   Справочник технического переводчика

  • плавающая точка начала байта — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN floating byte …   Справочник технического переводчика

  • Плавающая запятая — форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто используемое представление… …   Википедия

  • Запятая плавающая — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • § 130-135. ТОЧКА С ЗАПЯТОЙ — § 130. Точка с запятой ставится между независимыми предложениями, объединяемыми в одно сложное предложение без помощи союзов, особенно если такие предложения значительно распространены и имеют внутри себя запятые (о запятой между независимыми… …   Правила русского правописания

  • Числа с плавающей запятой — Плавающая запятая  форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее… …   Википедия

  • Машинный эпсилон — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • Числа с плавающей точкой — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • Число с плавающей запятой — Число с плавающей запятой  форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную.… …   Википедия

  • Мультикор — (англ. Multicore)  семейство сигнальных микропроцессоров, разработанное на российском предприятии ГУП НПЦ «Электронные Вычислительно Информационные Системы» (ГУП НПЦ «ЭЛВИС»). Микропроцессоры имеют несимметричную многоядерную… …   Википедия

normative_ru_en.academic.ru

Плавающая запятая Википедия

Число с плавающей запятой (или число с плавающей точкой) — экспоненциальная форма представления вещественных (действительных) чисел, в которой число хранится виде мантиссы и порядка (показателя степени). При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Используемое наиболее часто представление утверждено в стандарте IEEE 754. Реализация математических операций с числами с плавающей запятой в вычислительных системах может быть как аппаратная, так и программная.

«Плавающая запятая» и «плавающая точка»

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

Происхождение названия

Название «плавающая запятая» происходит от того, что запятая в позиционном представлении числа (десятичная запятая, или, для компьютеров, двоичная запятая — далее по тексту просто запятая) может быть помещена где угодно относительно цифр в строке. Это положение запятой указывается отдельно во внутреннем представлении. Таким образом, представление числа в форме с плавающей запятой может рассматриваться как компьютерная реализация экспоненциальной записи чисел.

Преимущество использования представления чисел в формате с плавающей запятой над представлением в формате с фиксированной запятой (и целыми числами) состоит в том, что можно использовать существенно больший диапазон значений при неизменной относительной точности. Например, в форме с фиксированной запятой число, занимающее 6 разрядов в целой части и 2 разряда после запятой, может быть представлено в виде 123 456,78. В свою очередь, в формате с плавающей запятой в тех же 8 разрядах можно записать числа 1,2345678; 1 234 567,8; 0,000012345678; 12 345 678 000 000 000 и так далее, но для этого необходимо иметь дополнительное двухразрядное поле для записи показателей степени основания 10 от 0 до 16, при этом общее число разрядов составит 8+2=10.

Скорость выполнения компьютером операций с числами, представленными в форме с плавающей запятой, измеряется во FLOPS (от англ. floating-point operations per second — «[количество] операций с плавающей запятой в секунду»), и является одной из основных единиц измерения быстродействия вычислительных систем.

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

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

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

Нормальная и нормализованная формы

Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0 1), то есть 0 ⩽ a < 1.

Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать как 0,000001⋅102, 0,00001⋅101, 0,0001⋅100, 0,001⋅10−1, 0,01⋅10−2 и так далее), поэтому распространена (особенно в информатике) также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (исключительно), то есть 1 ⩽ a < 10 (аналогично мантисса двоичного числа принимает значения от 1 до 2). В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.

Старший разряд (целая часть числа) мантиссы двоичного числа (кроме 0) в нормализованном виде равен 1 (так называемая неявная единица), поэтому при записи мантиссы числа в ЭВМ старший разряд можно не записывать, что и используется в стандарте IEEE 754. В позиционных системах счисления с основанием большим, чем 2 (в троичной, четверичной и др.), этого свойства нет.

Способы записи

При ограниченных возможностях оформления (например, отображение числа на семисегментном индикаторе), а также при необходимости обеспечить быстрый и удобный ввод чисел, вместо записи вида m·be (m — мантисса; b — основание, чаще всего 10; e — экспонента), записывают лишь мантиссу и показатель степени, разделяя их буквой «E» (от англ. exponent). Основание при этом неявно полагают равным 10. Например, число 1,528535047⋅10−25 в этом случае записывается как 1.528535047E-25.

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

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

  • Наиболее распространённый путь представления значения числа из строки с цифрами — в виде целого числа — запятая (radix point) по умолчанию находится в конце строки.
  • В общем математическом представлении строка из цифр может быть сколь угодно длинной, а положение запятой обозначается путём явной записи символа запятой (или, на Западе, точки) в нужном месте.
  • В системах с представлением чисел в формате с фиксированной запятой существует определённое условие относительно положения запятой. Например, в строке из 8 цифр условие может предписывать положение запятой в середине записи (между 4-й и 5-й цифрой). Таким образом, строка «00012345» обозначает число 1,2345 (нули слева всегда можно отбросить).
  • В экспоненциальной записи используют стандартный (нормализованный) вид представления чисел. Число считается записанным в стандартном (нормализованном) виде, если оно записано в виде aqn{\displaystyle aq^{n}}, где a{\displaystyle a}, называемое мантиссой, такое, что 1≤a<q{\displaystyle 1\leq a<q}, n{\displaystyle n} — целое, называется показатель степени и q{\displaystyle q} — целое, основание системы счисления (на письме это обычно 10). То есть в мантиссе запятая помещается сразу после первой значащей (не равной нулю) цифры, считая слева направо, а дальнейшая запись даёт информацию о действительном значении числа. Например, период обращения (на орбите) спутника Юпитера Ио, который равен 152 853,5047 с, в стандартном виде можно записать как 1,528535047⋅105 с. Побочным эффектом ограничения на значения мантиссы является то, что в такой записи невозможно изобразить число 0.
  • Запись в форме с плавающей запятой похожа на запись чисел в стандартном виде, но мантисса и экспонента записываются раздельно. Мантисса записывается в нормализованном формате — с фиксированной запятой, подразумеваемой после первой значащей цифры. Возвращаясь к примеру с Ио́, запись в форме с плавающей запятой будет 152853,5047 с показателем 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 бита), мантисса составляет 1 бит знак + 52 бита, показатель — 1 бит знак + 10 бит. Таким образом получаем диапазон точности примерно от 4,94⋅10−324 до 1.79⋅10308 (от 2−52 × 2−1022 до ~1 × 21024). В стандарте IEEE 754 несколько значений данного типа зарезервировано для обеспечения возможности представления специальных значений. К ним относятся значения NaN (Not a Number, «не число») и +/-INF (Infinity, бесконечность), получающихся в результате операций деления на ноль или при превышении числового диапазона. Также сюда попадают денормализованные числа, у которых мантисса меньше единицы. В специализированных устройствах (например, GPU) поддержка специальных чисел часто отсутствует. Существуют программные пакеты, в которых объём памяти, выделенный под мантиссу и показатель, задаётся программно и ограничивается лишь объёмом доступной памяти ЭВМ (см. Арифметика произвольной точности).

Точность Одинарная Двойная Расширенная
Размер (байты) 4 8 10
Число десятичных знаков ~7.2 ~15.9 ~19.2
Наименьшее значение (>0), denorm 1,4⋅10−45 5,0⋅10−324 1,9⋅10−4951
Наименьшее значение (>0), normal 1,2⋅10−38 2,3⋅10−308 3,4⋅10−4932
Наибольшее значение 3,4×10+38 1,7×10+308 1,1×10+4932
Поля S-E-F S-E-F S-E-I-F
Размеры полей 1-8-23 1-11-52 1-15-1-63
  • S — знак, E — показатель степени, I — целая часть, F — дробная часть
  • Так же, как и для целых, знаковый бит — старший.

Машинный эпсилон

В отличие от чисел с фиксированной запятой, сетка чисел, которые способна отобразить арифметика с плавающей запятой, неравномерна: она более густая для чисел с малыми порядками и более редкая — для чисел с большими порядками. Но относительная погрешность записи чисел одинакова и для малых чисел, и для больших. Машинным эпсилоном называется наименьшее положительное число ε такое, что 1⊕ε≠1{\displaystyle 1\oplus \varepsilon \neq 1} (знаком ⊕{\displaystyle \oplus } обозначено машинное сложение). Грубо говоря, числа a и b, соотносящиеся так, что 1<ab<1+ε{\displaystyle 1<{\frac {a}{b}}<1+\varepsilon }, машина не различает.

Для одинарной точности ε=2−24≈5,96⋅10−8{\displaystyle \varepsilon =2^{-24}\approx 5,96\cdot 10^{-8}}, то есть, приблизительно 7 значащих цифр. Для двойной точности: ε=2−53≈1,11⋅10−16{\displaystyle \varepsilon =2^{-53}\approx 1,11\cdot 10^{-16}}, 15 значащих цифр[1].

См. также

Примечания

  1. E. Cheney, David Kincaid. Numerical Mathematics and Computing. — Cengage Learning, 2012. — 43– p. — ISBN 1-133-71235-5.

Литература

  •  Криницкий Н. А., Миронов Г. А., Фролов Г. Д. Программирование. — М.: Государственное издательство физико-математической литературы, 1963. — 384 с.
  • Генри С. Уоррен, мл. Глава 15. Числа с плавающей точкой // Алгоритмические трюки для программистов = Hacker’s Delight. — М.: Вильямс, 2007. — С. 288. — ISBN 0-201-91465-4.

Ссылки

wikiredia.ru

плавающая точка — с русского на английский

См. также в других словарях:

  • Плавающая точка — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • плавающая точка — плавающая запятая — [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом Синонимы плавающая запятая EN floating pointFP …   Справочник технического переводчика

  • плавающая точка начала байта — — [Л.Г.Суменко. Англо русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.] Тематики информационные технологии в целом EN floating byte …   Справочник технического переводчика

  • Плавающая запятая — форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто используемое представление… …   Википедия

  • Запятая плавающая — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • § 130-135. ТОЧКА С ЗАПЯТОЙ — § 130. Точка с запятой ставится между независимыми предложениями, объединяемыми в одно сложное предложение без помощи союзов, особенно если такие предложения значительно распространены и имеют внутри себя запятые (о запятой между независимыми… …   Правила русского правописания

  • Числа с плавающей запятой — Плавающая запятая  форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее… …   Википедия

  • Машинный эпсилон — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • Числа с плавающей точкой — Плавающая запятая форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто… …   Википедия

  • Число с плавающей запятой — Число с плавающей запятой  форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную.… …   Википедия

  • Мультикор — (англ. Multicore)  семейство сигнальных микропроцессоров, разработанное на российском предприятии ГУП НПЦ «Электронные Вычислительно Информационные Системы» (ГУП НПЦ «ЭЛВИС»). Микропроцессоры имеют несимметричную многоядерную… …   Википедия

translate.academic.ru

Числа с плавающей точкой Википедия

Число с плавающей запятой (или число с плавающей точкой) — экспоненциальная форма представления вещественных (действительных) чисел, в которой число хранится виде мантиссы и порядка (показателя степени). При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную. Используемое наиболее часто представление утверждено в стандарте IEEE 754. Реализация математических операций с числами с плавающей запятой в вычислительных системах может быть как аппаратная, так и программная.

«Плавающая запятая» и «плавающая точка»[ | ]

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

Происхождение названия[ | ]

Название «плавающая запятая» происходит от того, что запятая в позиционном представлении числа (десятичная запятая, или, для компьютеров, двоичная запятая — далее по тексту просто запятая) может быть помещена где угодно относительно цифр в строке. Это положение запятой указывается отдельно во внутреннем представлении. Таким образом, представление числа в форме с плавающей запятой может рассматриваться как компьютерная реализация экспоненциальной записи чисел.

Преимущество использования представления чисел в формате с плавающей запятой над представлением в формате с фиксированной запятой (и целыми числами) состоит в том, что можно использовать существенно больший диапазон значений при неизменной относительной точности. Например, в форме с фиксированной запятой число, занимающее 6 разрядов в целой части и 2 разряда после запятой, может быть представлено в виде 123 456,78. В свою очередь, в формате с плавающей запятой в тех же 8 разрядах можно записать числа 1,2345678; 1 234 567,8; 0,000012345678; 12 345 678 000 000 000 и так далее, но для этого необходимо иметь дополнительное двухразрядное поле для записи показателей степени основания 10 от 0 до 16, при этом общее число разрядов составит 8+2=10.

Скорость выполнения компьютером операций с числами, представленными в форме с плавающей запятой

ru-wiki.ru

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

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