C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++のRint()、rintf()、rintl()


ここでは、3つの機能を確認します。これらの関数は、Rint()、rintf()、およびrintl()です。これらの関数は、浮動小数点値を丸められた形式に変換するために使用されます。

rint()関数

この関数は、浮動小数点値を整数に丸めるために使用されます。構文は次のようになります。結果がリターンタイプの範囲外である場合、ドメインエラーが発生する可能性があります。引数が0または無限大の場合、変更されていない状態で返されます

float rint(float argument)
double rint(double argument)
long double rint(long double argument)

#include <cmath>
#include <iostream>
using namespace std;
main() {
   double a, b, x, y;
   x = 53.26;
   y = 53.86;
   a = rint(x);
   b = rint(y);
   cout << "The value of a: " << a << endl;
   cout << "The value of b: " << b;
}

出力

The value of a: 53
The value of b: 54

rintf()関数

これはrintと同じですが、唯一の違いは、すべてのパラメーターと戻り型がfloat型であるということです。この例では、fesetround()メソッドを使用してラウンドタイプを指定します。

float rintf(float argument)

#include <cmath>
#include <fenv.h>
#include <iostream>
using namespace std;
main() {
   double a, b, x, y;
   x = 53.26;
   y = 53.86;
   fesetround(FE_UPWARD);
   a = rintf(x);
   fesetround(FE_DOWNWARD);
   b = rintf(y);
   cout << "The value of a: " << a << endl;
   cout << "The value of b: " << b;
}

出力

The value of a: 54
The value of b: 53

rintl()関数

これはrintと同じですが、唯一の違いは、すべてのパラメーターと戻り型がlongdouble型であるということです。この例では、fesetround()メソッドを使用してラウンドタイプを指定します。

long double rintl(long double argument)

#include <cmath>
#include <fenv.h>
#include <iostream>
using namespace std;
main() {
   double a, b, x, y;
   x = 53547.55555555555;
   y = 53547.55555555523;
   fesetround(FE_UPWARD);
   a = rintl(x);
   fesetround(FE_DOWNWARD);
   b = rintl(y);
   cout << "The value of a: " << a << endl;
   cout << "The value of b: " << b;
}

出力

The value of a: 53548
The value of b: 53547

  1. C ++のexpm1()

    関数expm1()は、任意の数から1を引いた累乗の指数を計算するために使用されます。 (指数をaの累乗で累乗した)-1の値を返します。 expm1()の数式は次のとおりです。 expm1(a) = (e^a) - 1 C ++言語でのexpm1()の構文は次のとおりです。 float expm1(variable_name); ここで 変数名 −値が計算される変数に付けられた任意の名前。 これは、C ++言語でのexpm1()の例です。 例 #include <iostream> #include <cmath> using namespace std

  2. C ++のlog1p()

    関数log1p()は、(a + 1)の自然対数(基数e対数)を計算するために使用されます。ここで、aは任意の数値です。 (a + 1)の自然対数の値を返します。 -1未満の値を渡すと、Not a number(Nan)が返されます。 log1p()の数式は次のとおりです。 log1p(a) = base-e log(a+1) C ++言語でのlog1p()の構文は次のとおりです。 float log1p(float variable_name); ここで variable_name −対数値が計算される変数に付けられた名前。 これは、C ++言語でのlog1p()の例です