2016-04-20 10 views
0

は、C++標準ライブラリには、そこにこの動作をfunc機能を取得する方法です:標準ライブラリコンポーネントでこの特殊丸め機能を構築できますか?

  • は、入力として、二重numかかります。
  • は、numより厳密に小さい整数を返します。

私たちは、その後の進路「劣っか等しい」を読めばceil機能は、仕事をするので、私は、厳密を強調する。

私が欲しいものは:func(3.1)は3、func(3.9)は3に等しく、もっとも重要なのはfunc(4)であり、4ではありません。

+1

'ceil(num-1.0)'おそらく? –

+0

すごい!私はそれについて考えていたはずです、ありがとう! – Zozor

+4

あなたは問題ではないかもしれませんが、 'double'は2^53 = 9,007,199,254,740,992以上の大きな整数を格納することができ、最初は2番目の整数だけを表すことができます。等々。この範囲では、1.0を減算することは効果がない可能性があります。 ['nextafter'](http://en.cppreference.com/w/cpp/numeric/math/nextafter)。 –

答えて

0

ceil(x)-1.0が有効です。 X整数、CEILない場合(X)-floor(X)= 1、及びXは整数であり、CEIL次いで、(X)= XCEIL(X)-1あなたが欲しいものです。

関連する問題