2014-05-14 2 views
3

В моем вопросе о Analysis of float/double precision in 32 decimal digits, один ответ сказал, чтобы посмотреть на __float128.Печать __float128, без использования quadmath_snprintf

Я использовал его, и компилятор мог его найти, но я не могу его распечатать, поскольку компилятор не может найти заголовок quadmath.h.

Так что мои вопросы:

  1. __float128 является стандартным, правильно?
  2. Как распечатать?
  3. Не quadmath.h стандарт?

Эти ответы не помогло:

  1. Use extern C
  2. Precision in C++
  3. Printing

ref также не помогло.

Обратите внимание, что я не хочу использовать какую-либо нестандартную библиотеку.

[EDIT]

Было бы также полезно, если этот вопрос был ответ, даже если ответ был отрицательным.

+0

В качестве основных подчеркиваний указывайте: не используйте его –

+0

Вы проверили ссылку, предоставленную мне для анализа? В ответе говорится, что это будет вариант. Нет? – gsamaras

ответ

1

Нет, это не стандарт - ни тип, ни заголовок. Поэтому тип имеет двойное подчеркивание (зарезервированное имя). По-видимому, quadmath.h предоставляет метод quadmath_snprintf. Конечно, в C++ вы бы использовали <<.

+0

Нет, вы не можете. '__float128' приведет к синтаксической ошибке при использовании с' << '. Отредактируйте ответ, и я буду рад принять его, спасибо. Или, если вы знаете, как заставить его работать с '<<', не стесняйтесь учить меня (нас). – gsamaras

+0

@ G.Samaras: Я написал «would» вместо «can», потому что это гипотетический вариант - если «quadmath» была C++-библиотекой, она предложила бы '<<'. – MSalters

+0

IMHO, ваш синтаксис вводит в заблуждение. Однако комментарий очищает это. Кажется, у вас есть опыт редактирования или нет. Принять и +1. – gsamaras

1

Работа в GNU-Fortran! Он позволяет запускать ту же программу с различной точностью: одиночный (32-разрядный), двойной (64-разрядный), расширенный (80 бит) и четырехъядерный (128 бит). Вам не нужно вносить какие-либо изменения в программу, вы просто пишете «real» для всех плавающих точек. Размер плавающих точек устанавливается параметрами компилятора -freal-4-real-8, -freal-4-real-10 и -freal-4-real-16.

Смежные вопросы