我想知道是否可以将科学记数法与变量一起使用?
例如:
int n;
cin >> n;
int x = 1en;
代替
int x = 1e8
可能吗?如果是,如何?
不可以。科学记数法仅适用于常数值。这些值是在编译时确定的,而您想要获取的值是在运行时确定的。
你必须使用类似的东西int result = pow(10,n)
。请记住,std::pow
返回双精度值。
您可以做的最接近的方法是通过以下方式定义宏:
您无法避免使用 pow,因为 n 是在运行时评估的。这就像 C 一样工作。
#define e(n) *pow(10,n)
你使用它:
int n; cin >> n; int x = 1 e(n);