Перейти к содержимому

18.05 Нюансы работы с числами с плавающей запятой

Cherepanov Vladimir

0:00 / 0:00

18.05 Нюансы работы с числами с плавающей запятой

26 просмотров · 3 месяца назад
Cherepanov Vladimir
133 подписчика
26 просмотров · 3 месяца назад
https://drive.google.com/file/d/1HhER... Формат с плавающей запятой: мантисса, экспонента Большие целые значения без fixed печатаются в научном формате Типы данных с плавающей запятой: double, long double, float, __float128, decimal в Python и C# Извлечение квадратного корня из целых чисел: sqrt(10^18 - 1) == 10^9 sqrtl math.isqrt в Python Корректное использование pow для подсчета a^b: round(powl(a, b)) 1e18 + 1 == 1e18; 1e18L + 1 != 1e18 1\n * n != 1, т.к. хранится ограниченное число знаков у бесконечной периодической дроби 0.1 + ... + 0.1 != 1, т.к. числа хранятся в двоичной системе счисления Недопустимость использования чисел с плавающей запятой хранения для хранения сумм с копейками При возможности лучше не пользоваться числами с плавающей запятой. Примеры: сравнение длин отрезков с концами в целых координатах класс для рациональных дробей Работа с eps: сравнения округления в фиксированную сторону sqrt, asin, acos Ограничения на eps сверху и снизу. Расстояние между двумя дробями с ограничением на величину знаменателя