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

Pagina: 1
Acties:

Onderwerpen


  • 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


  • CoolGamer
  • Registratie: Mei 2005
  • Laatst online: 23:03

CoolGamer

What is it? Dragons?

b = 123456789123456789123456789e1L

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

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


  • Arjan
  • Registratie: Juni 2001
  • Niet online

Arjan

copyright is wrong

Topicstarter
holy crap, ik ga pitten ;w

oprecht vertrouwen wordt nooit geschaad