Spec-Zone.ru › GCC 13

6.14 Типы десятичных чисел с плавающей точкой

В качестве расширения GNU C поддерживает типы десятичных чисел с плавающей точкой, определённые в черновике N1312 проекта ISO/IEC WDTR24732. Поддержка типов десятичных чисел с плавающей точкой в GCC будет развиваться по мере изменения черновика технического отчета. Способы вызова для любого целевого процессора также могут измениться. Не все целевые процессоры поддерживают десятичные типы с плавающей точкой.

Типы десятичных чисел с плавающей точкой — это _Decimal32, _Decimal64, и _Decimal128. Они используют основание десять, в отличие от типов чисел с плавающей точкой float, double, и long double, основание которых не указано стандартом C, но обычно равно двум.

Поддержка десятичных типов с плавающей точкой включает арифметические операторы сложения, вычитания, умножения, деления; унарные арифметические операторы; реляционные операторы; операторы сравнения на равенство; и преобразования в целые и другие типы с плавающей точкой. Используйте суффикс ‘df’ или ‘DF’ в литерале константы типа _Decimal32, ‘dd’ или ‘DD’ для _Decimal64, и ‘dl’ или ‘DL’ для _Decimal128.

Поддержка десятичных чисел с плавающей точкой в GCC, как указано в черновике технического отчета, является неполной:

  • Когда значение десятичного типа с плавающей точкой не может быть представлено в целочисленном типе, в который оно преобразуется, результат является неопределённым, а не значением, указанным в черновике технического отчета.
  • GCC не предоставляет функциональность C-библиотеки, связанную с math.h, fenv.h, stdio.h, stdlib.h, и wchar.h, которые должны быть получены из отдельной реализации C-библиотеки. По этой причине компилятор GNU C не определяет макрос __STDC_DEC_FP__ для указания того, что реализация соответствует техническому отчёту.

Типы _Decimal32, _Decimal64, и _Decimal128 поддерживаются форматом отладки DWARF.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/Decimal-Float.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API