6

我想知道是否可以将科学记数法与变量一起使用?

例如:

int n;
cin >> n;
int x = 1en;

代替

int x = 1e8

可能吗?如果是,如何?

4

2 回答 2

9

不可以。科学记数法仅适用于常数值。这些值是在编译时确定的,而您想要获取的值是在运行时确定的。

你必须使用类似的东西int result = pow(10,n)。请记住,std::pow返回双精度值。

于 2012-11-24T11:07:23.573 回答
0

您可以做的最接近的方法是通过以下方式定义宏:

您无法避免使用 pow,因为 n 是在运行时评估的。这就像 C 一样工作。

#define e(n) *pow(10,n)

你使用它:

int n; cin >> n; int x = 1 e(n);

于 2012-11-24T11:15:58.500 回答