我正在尝试使用c ++的尾数和指数创建双精度或浮点型
即:我有这个数字:1472E-2尾数= 1472指数= -2
我正在尝试获取该数字:14.72,其目的只是打印这些数字。
我尝试了ldexp,std :: setprecision
答案 0 :(得分:1)
您似乎拥有人类可读的科学计数法(带有十进制指数),而不是double
内部使用的二进制指数。这就是ldexp
对您不起作用的原因。
如果您有字符串"1472e-2"
,则可以使用strtod
对其进行解析,从而得到14.72
如果两个单独的变量中分别有1472和-2,则可以应用科学计数法的定义
double z = x * pow(10.0, y);