[C++] string > long double conversie fout?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Arjan
  • Registratie: Juni 2001
  • Niet online

Arjan

copyright is wrong

Topicstarter
de simpele probleemstelling:
C++:
1
2
3
long double a = strtold( "123456789123456789123456789", 0 );
long double b = 123456789123456789123456789e1L;
std::cerr << a << std::endl << b << std::endl << ( a == b ) << std::endl;

de output:
1.23457e+26
1.23457e+27
0

iemand enig idee wat er gebeurd?

Ik had toch echt verwacht dat beide getallen hetzelfde zouden zijn.. het probleem doet zich ook voor als ik de conversie via een stringstream laat lopen, dus daar ligt het niet aan.

iemand enig idee wat hier misgaat :?

oprecht vertrouwen wordt nooit geschaad


Acties:
  • 0 Henk 'm!

  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 18:08

CoolGamer

What is it? Dragons?

b = 123456789123456789123456789e1L

[ Voor 22% gewijzigd door CoolGamer op 26-08-2011 23:23 ]

¸.·´¯`·.¸.·´¯`·.¸><(((º>¸.·´¯`·.¸><(((º>¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸<º)))><¸.·´¯`·.¸.·´¯`·.¸.·´¯`·.¸


Acties:
  • 0 Henk 'm!

  • Arjan
  • Registratie: Juni 2001
  • Niet online

Arjan

copyright is wrong

Topicstarter
holy crap, ik ga pitten ;w

oprecht vertrouwen wordt nooit geschaad