2016-10-11 5 views
0

各数値の間に2の係数を持つ幾何学的順序で最も近い数値に丸めようとしています。C#幾何級数で最も近い数値に丸める方法

int num = 30; 

私は32

+1

に丸められ、「NUM」が必要でしょうあなたは2の次の電力を必要とする、または最も近いください:

は、私が持っているとしましょうか? – Theraot

+4

あなたは 'int num = 30;'以外のものを試したことがありますか?私たちはそれをいくつか見ることができますか? – ethorn10

+0

関連:[2の最も近い累乗への丸め](http://stackoverflow.com/questions/466204/rounding-up-to-nearest-power-of-2) – stuartd

答えて

2
double logValue = Math.Log(30, 2); 
double ceilingValue= Math.Round(logValue); 

double result = Math.Pow(2, ceilingValue); 
+0

よく働いていたコードを試しましたが、最も近い番号に行くのではなく、次の番号に順番に丸めました。 –

+0

@MattJはい、Math.Ceilingの代わりにMath.Roundを使用します。私の編集のように。 – mybirthname

+0

これは今すぐうまくいきました。 –

関連する問題