Spec-Zone.ru › GCC 7

6.13 Десятичные плавающие типы

В качестве расширения 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.

Далее: Шестнадцатеричные числа с плавающей точкой, Предыдущее: Полуточная точность, Вверх: Расширения C [Оглавление][Индекс]

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

Spec-Zone.ru

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