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

C ++のsqrt、sqrtl、およびsqrtf


C ++のcmathライブラリには、sqrtを除いて、平方根を取得するためのさまざまな関数があります。 sqrtは、基本的にダブルタイプの入力に使用されます。その他は、float、long型データなどに使用されます。これらの関数の使用法を見てみましょう。

sqrt()関数

この関数は、double型のデータに使用されます。したがって、これはdouble型の平方根を返します。構文は次のようになります。

double sqrt(double argument)

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
main() {
   double x = 144.0;
   double y = 180.0;
   cout << fixed << setprecision(12) << sqrt(x) << endl;
   cout << fixed << setprecision(12) << sqrt(y) << endl;
}

出力

12.000000000000
13.416407864999

引数を入れる必要があることに注意してください。そうしないと、エラーが返されます。また、引数が負の場合、NaNも返されます。

sqrtf()関数

この関数は、フローティングタイプのデータに使用されます。したがって、これはfloat型の平方根を返します。構文は次のようになります。

float sqrtf(float argument)

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
main() {
   float x = 144.0;
   float y = 180.0;
   cout << fixed << setprecision(6) << sqrtf(x) << endl;
   cout << fixed << setprecision(6) << sqrtf(y) << endl;
}

出力

12.000000
13.416408

引数を入れる必要があることに注意してください。そうしないと、エラーが返されます。また、引数が負の場合、NaNも返されます。

sqrtl()関数

この関数は、長いdouble型のデータに使用されます。したがって、これはlongdouble型の平方根を返します。これは2倍になり、精度が高くなります。 1018次の整数を使用している場合、この関数は役立ちます。

long double sqrtl(long double argument)

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
main() {
   long long int x = 5000000000000000000;
   long long int y = 999999999999999999;
   cout << fixed << setprecision(12) << sqrtl(x) << endl;
   cout << fixed << setprecision(12) << sqrtl(y) << endl;
}

出力

2236067977.499789696420
999999999.999999999476

  1. C++での直方体の体積と表面積のプログラム

    直方体とは何ですか? 直方体は、長方形の6つの面を持つ3次元オブジェクトです。つまり、辺の長さと幅が異なります。立方体と直方体の違いは、立方体の長さ、高さ、幅が等しいのに対し、直方体ではこれら3つは同じではないことです 直方体の特性は次のとおりです- 6つの顔 12個のエッジ 8つの頂点 以下は立方体の図です 問題 長さ、幅、体積が与えられた場合、タスクは直方体の総表面積と体積を見つけることです。ここで、表面積は面が占めるスペースであり、体積は形状に含めることができるスペースです。 直方体の表面積と体積を計算するには、式があります 表面積=2(| * w + w * h

  2. C ++でfloatとdoubleを比較する方法は?

    float変数とdouble変数の比較は、最終目標が何であるかによって異なります。詳細をあまり説明せずに実行可能な関数が必要で、一部の不正確な計算で問題が発生しない場合は、次の関数を使用できます- 例 #include<iostream> using namespace std; // Define the error that you can tolerate #define EPSILON 0.000001 bool areSame(double a, double b) {    return fabs(a - b) < EPSILON; }