Question

Quelqu'un sait-il comment connaître la précision de long double sur une plate-forme spécifique? Il semble que je perde en précision après 17 chiffres décimaux, ce qui est la même chose que lorsque je viens d'utiliser double. Je m'attendrais à en avoir plus, car <=> est représenté avec 8 octets sur ma plate-forme, alors que <=> est 12 octets.

Avant que vous ne posiez la question, ceci s’applique à Project Euler, alors oui, j’ai besoin de plus de 17 chiffres. :)

MODIFIER: Merci pour vos réponses rapides. Je viens de confirmer que je ne peux obtenir que 18 chiffres décimaux en utilisant <=> sur mon système.

Était-ce utile?

La solution

Vous pouvez le savoir avec std::numeric_limits:

#include <iostream>     // std::cout
#include <limits>       // std::numeric_limits
int main(){
    std::cout << std::numeric_limits<long double>::digits10 << std::endl;
}

Autres conseils

Vous pouvez utiliser < cfloat > . . Plus précisément:

LDBL_DIG
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top