Von cppreference:
Anders als die meisten mathematischen Operationen, die Umwandlung eines Gleitkommawerts in Text und zurück ist genau so lange, wie mindestens max_digits10 verwendet wurden (9 für Schwimmer, 17 für Doppel): Es wird garantiert, dass derselbe Fließkommawert erzeugt wird, obwohl die Darstellung des Zwischentextes nicht exakt ist. Es kann mehr als hundert Dezimalstellen erfordern, um den genauen Wert eines Gleitkommas in Dezimalschreibweise darzustellen.
Zum Beispiel (I http://www.exploringbinary.com/floating-point-converter/ bin mit der Umwandlung zu erleichtern) und doppelt so die Präzision Format:
1.1e308 => 109999999999999997216016380169010472601796114571365898835589230322558260940308155816455878138416026219051443651421887588487855623732463609216261733330773329156055234383563489264255892767376061912596780024055526930962873899746391708729279405123637426157351830292874541601579169431016577315555383826285225574400
Mit 16 signifikanten Stellen:
1.099999999999999e308 => 109999999999999897424000903433019889783160462729437595463026208549681185812946033955861284690212736971153169019636833121365513414107701410594362313651090292197465320141992473263972245213092236035710707805906167798295036672550192042188756649080117981714588407890666666245533825643214495197630622309084729180160
Mit 17 signifikanten Stellen:
1.0999999999999999e308 => 109999999999999997216016380169010472601796114571365898835589230322558260940308155816455878138416026219051443651421887588487855623732463609216261733330773329156055234383563489264255892767376061912596780024055526930962873899746391708729279405123637426157351830292874541601579169431016577315555383826285225574400
, welche die gleichen wie die ursprünglichen
Mehr als 17 signifikante Stellen ist:
1.09999999999999995555e308 => 10999999999999999721601638016901047260179611457136589883558923032255826094030815581645587813841602621905144365142188758848785562373246360921626173333077332915605523438356348926425589276737606191259678002 4055526930962873899746391708729279405123637426157351830292874541601579169431016577315555383826285225574400
Weiter das gleiche wie das Original.
10 Binärziffern? – Vivick
'Float kann maximal 6 Ziffern und Doppel 15, nach Komma 'ist falsch. Die Genauigkeit ist 15 Ziffern, die alle signifikanten Zahlen zählt, nicht nur die Nachkommastellen –
@ LưuVĩnhPhúc: 15 Ziffern in Dezimal-Basis? max() auf double wird '2.22507e-308' ausgeben, was weit mehr als 15 Ziffern ist. – markzzz