Frage

Wer weiß, wie die Präzision der long double auf einer bestimmten Plattform, um herauszufinden? Ich zu sein scheinen Präzision nach 17 Dezimalstellen zu verlieren, die die gleiche ist, wie wenn ich double nur verwenden. Ich würde erwarten, mehr zu bekommen, da double mit 8 Byte auf meiner Plattform dargestellt wird, während long double 12 Bytes ist.

Bevor Sie fragen, dann ist dies für Project Euler, also ja I Sie mehr als 17 Ziffern müssen. :)

EDIT: Vielen Dank für die schnellen Antworten. Ich bestätigte nur, dass ich nur mit long double auf meinem System 18 Dezimalstellen erhalten.

War es hilfreich?

Lösung

Sie können mit std::numeric_limits herausfinden:

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

Andere Tipps

Sie können mit . Im Einzelnen:

LDBL_DIG
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top