У чисел с плавающей точкой появились константы точного целого диапазона

17.02.2026

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

Какую задачу они закрывают

Двойная точность хранит целые числа точно до 2 в 53 степени. Дальше точность теряется. Но записать эту границу приходилось числом, которое читатель должен вычислить или запомнить.

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

Что дают константы

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

Оригинал

Implement accepted ACP for MAX_EXACT_INTEGER and MIN_EXACT_INTEGER on f16, f32, f64, and f128.

Упоминаний: 1 · Просмотров: 1