How to convert 2.8147498e+14 (2^48) into a number ?

What does this symbol mean and how to convert 2.8147498e+14 to a number like 586456852156211 ,how to convert ?

1 Like

Number 2.8147498e+14; is written in scientific notation which is equal to 2.8147498*(10^14);

use this

``````#include <bits/stdc++.h>
#include <string>
double conversion(double counts)
{
double d=0.0;
std::ostringstream ss;
ss.precision(1);
ss << std::fixed << counts;
std::string::size_type sz;     // alias of size_t

d = std::stod (ss.str(),&sz);

std::cout << ss.str() << " MeV";
return d;
}
int main()
{
double k=2.8147498e+14;
float d;
d=conversion(k);
int exponent = (int)log10(fabs(d));
double mantissa = d / pow(10, exponent);
printf("%f X 10^%d\n", mantissa, exponent);
}
``````

or you can use

``````#include <iostream>     // std::cout, std::fixed, std::scientific

int main () {
double a = 3.1415926534;
double b = 2006.0;
double c = 1.0e-10;

std::cout.precision(5);

std::cout << "default:\n";
std::cout << a << '\n' << b << '\n' << c << '\n';

std::cout << '\n';

std::cout << "fixed:\n" << std::fixed;
std::cout << a << '\n' << b << '\n' << c << '\n';

std::cout << '\n';

std::cout << "scientific:\n" << std::scientific;
std::cout << a << '\n' << b << '\n' << c << '\n';
return 0;
}``````
1 Like