我想知道是否可以将科学记数法与变量一起使用?
例如:
int n;
cin >> n;
int x = 1en;
而不是
int x = 1e8
有可能吗?如果是,怎么样?
答案 0 :(得分:5)
没有。科学记数法仅适用于不变的价值观。这些值在编译时确定,而您想要获取的值在运行时确定。
您必须使用int result = pow(10,n)
之类的内容。请注意,std::pow
会返回双倍值。
答案 1 :(得分:0)
您最接近的方法是按以下方式定义宏:
你无法避免使用pow,因为n是在运行时评估的。这就像C一样。
#define e(n) *pow(10,n)
你用它:
int n; cin >> n; int x = 1 e(n);