C / C ++のabs()、labs()、llabs()関数
Cライブラリの整数関数とは何ですか?
整数関数は、整数の正確な値を返す関数です。 Cは整数値のみをサポートします。この関数では、引数以下の最も近い整数がこの関数に戻ります。
整数関数の種類-
int = abs (int n); long = labs (long n); long long = llabs (long long n);
ここで、n=整数値
abs()、labs()、llabs()関数とは何ですか?
これらは、
abs()関数 − Cでは、入力は「int」タイプですが、C ++では、入力は「int、long int、またはlonglongint」タイプです。 Cでは、出力は「int」タイプであり、C ++では、出力は入力と同じデータ型です。
基本的に、abs関数は、指定された値の絶対値、つまり数値から負と正のすべての符号を削除した後の値を評価します。つまり、常に正の数が返されます。
たとえば、
abs(-43)は、負の符号を削除するために作成される43を出力として提供します。
abs(12)は、削除する必要のある兆候がないため、出力として12を返します。
例
#include <cstdlib> #include <iostream> using namespace std; int main() { int a = abs(123); int b = abs(-986); cout << "abs(123) = " << a << "\n"; cout << "abs(-986) = " << b << "\n"; return 0; }
出力
abs(123) = 123 abs(-986) = 986
labs()関数 −この関数では、入力と出力の両方の型がlong intであり、これはabs()関数のlongintバージョンです。
関数はabs()と同じです。つまり、数値の負の数を削除しますが、このメソッドは長い値を処理できるという違いがあります。
たとえば、
labs(245349384932L)=245349384932
labs(-34235668687987)=34235668687987
例
#include <cstdlib> #include <iostream> using namespace std; int main() { long int a = labs(437567342L); long int b = labs(-8764523L); cout << "labs(437567342L) = " << a << "\n"; cout << "labs(-8764523L) = " << b << "\n"; return 0; }
出力
labs(437567342L) = 437567342 labs(-8764523L) = 8764523
llabs()関数 −この関数では、入力と出力の両方の型がlong long intであり、これはabs()関数のlonglongintバージョンです。
例
#include <cstdlib> #include <iostream> using namespace std; int main() { long long int a = llabs(9796546325253547656LL); long long int b = llabs(-1423446557676111567LL); cout << "llabs(9796546325253547656LL) = " << a << "\n"; cout << "llabs(-1423446557676111567LL) = " << b << "\n"; return 0; }
出力
llabs(9796546325253547656LL) = 9796546325253547656 llabs(-1423446557676111567LL) = 1423446557676111567
-
C++の迷路
空のスペースと壁のある迷路の中にボールがあるとします。これで、ボールは上、下、左、右などの任意の方向に転がることで空のパスを通過できますが、壁にぶつかるまで転がりが止まりません。ボールが止まると、次の方向を選択できます。 ボールの位置、目的地、迷路を開始し、ボールが目的地に止まるかどうかを確認する必要があります。迷路は1つの2D配列で表されます。ここで、1は壁を示し、0は空きスペースを示します。迷路の境界はすべて壁です。開始座標と宛先座標は、行と列のインデックスで表されます。 したがって、入力が2D配列で表される迷路のようなものである場合 0 0 1 0 0
-
なぜC/C ++で修飾子を使用するのですか?
修飾子は、必要に応じて機能するように、基本タイプの意味を変更するために使用されます。たとえば、時間を負にすることはできず、符号なしにするのは理にかなっています。 C ++では、char、int、およびdoubleデータ型の前に修飾子を付けることができます。データ型修飾子はここにリストされています- 署名済み 署名なし 長い 短い 符号付き、符号なし、long、およびshortの修飾子は、整数の基本型に適用できます。さらに、signedとunsignedはcharに適用でき、longはdoubleに適用できます。 符号付きおよび符号なしの修飾子は、長すぎるまたは短すぎる修飾子のプレフィッ