変数で科学的記数法を使用できるかどうか知りたいですか?
例えば:
int n;
cin >> n;
int x = 1en;
それ以外の
int x = 1e8
出来ますか?はいの場合、どのように?
いいえ。科学的記数法は定数値のみを対象としています。これらの値はコンパイル時に決定されますが、取得する値は実行時に決定されます。
のようなものを使用する必要がありますint result = pow(10,n)
。std::pow
はdouble値を返すことに注意してください。
最も近い方法は、次の方法でマクロを定義することです。
nは実行時に評価されるため、powの使用を避けることはできません。これはCが機能するのと同じです。
#define e(n) *pow(10,n)
そして、あなたはそれを使用します:
int n; cin >> n; int x = 1 e(n);