Q: extremely huge number in assembly code but invalid in C++ In a disassembled code(probably compiled by visual studio), I found such a code:
label:
dt 1.189713341495303E+4932

What does it mean? why should someone use such number?
boost::lexical_cast<double>("1.189713341495303E+4932") fails conversion of this number. If it is out of range, why is it allowed in assembly?

A: This value is close to LDBL_MAX in float.h on most systems - it's the maximum value of a long double:
$ grep LDBL_MAX float.h
#define LDBL_MAX    __LDBL_MAX__

$ gcc -dM -E - < /dev/null | grep __LDBL_MAX__
#define __LDBL_MAX__ 1.18973149535723176502e+4932L

