C/C++のislessgreater()関数とは?構文と使い方を実例付きで解説
islessgreater()関数は、第1引数が第2引数より「小さい、または大きい」(=等しくない)ことを判定するためのマクロです。C言語では「math.h」ヘッダーファイル内で宣言されており、条件を満たした場合はtrue(1)、満たさない場合はfalse(0)を返します。
C++におけるislessgreater()の構文は以下の通りです。
bool islessgreater(value1 , value2);
パラメータ
value1 − value2と比較される第1引数です。
value2 − value1と比較し、小さいか大きいかを確認するための第2引数です。
それでは、C++でのislessgreater()の具体的な使用例を見てみましょう。
例1:異なる値を比較する場合
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int val1 = 28;
int val2 = 8;
bool result;
result = islessgreater(val1, val2);
cout << "val1 islessgreater than val2 : " << result << endl;
return 0;
}出力
実行結果は以下の通りです。
val1 islessgreater than val2 : 1
この例では、2つの値を比較し、一方がもう一方より小さいか大きいかを確認しています。内部では「value1 > value2 || value1 < value2」という判定が行われており、いずれかが真であれば1が返され、両方とも偽であれば0が返されます。
次に、両方の値が等しい場合の例を見てみましょう。
例2:同じ値を比較する場合
#include<iostream>
#include<math.h>
using namespace std;
int main() {
int val1 = 8;
int val2 = 8;
bool result;
result = islessgreater(val1, val2);
cout << "val1 islessgreater than val2 : " << result << endl;
return 0;
}出力
実行結果は以下の通りです。
val1 islessgreater than val2 : 0
値が等しい場合、「value1 > value2」も「value1 < value2」も成り立たないため、結果は0(false)になります。
まとめ
islessgreater()は、2つの値が等しくないかどうかを判定するマクロで、実質的に「≠(等しくない)」のチェックに相当します。さらに、通常の比較演算子と異なり、引数にNaN(非数)が含まれる場合にはfalse(0)を返すという特徴があり、無効な浮動小数点例外を発生させずに安全な比較が可能です。そのため、浮動小数点数を扱うプログラムで堅牢な比較を行いたい場合に特に役立ちます。
-
C/C++のmemcpy()関数の使い方と実例解説
この記事では、C++ STLにおけるmemcpy()関数の動作、構文、および具体的な使用例について詳しく解説します。 memcpy()とは? memcpy()関数は、C++ STLに組み込まれた標準関数の一つで、<cstring>ヘッダーファイルで定義されています。この関数はメモリブロックをコピーするために使用され、あるメモリ位置から別のメモリ位置へ、指定されたバイト数分のデータを転送します。 関数の実行結果は、データのバイナリコピーとなります。重要な点として、memcpy()は終端のNULL文字やその他の終端記号をチェックしません。単純にソースから指定されたバイト数(num)をそ
-
C/C++で学ぶAA木(AA Tree)とは?基本概念と平衡化操作を徹底解説
AA木(AA Tree)とはコンピュータサイエンスにおいて、AA木(AA Tree)とは、順序付きデータを効率的に格納・検索するために実装された平衡木(バランスドツリー)の一種です。AA木は、赤黒木(Red-Black Tree)の変種として扱われます。赤黒木は二分探索木の一形態であり、要素の追加や削除を効率的にサポートします。赤黒木と大きく異なる点は、AA木では赤いノードを右の子としてのみ追加でき、左の子としては配置できないという制約があることです。この制約により、2-3-4木ではなく2-3木をシミュレートすることになり、その結果、木の保守操作が大幅に簡素化されます。赤黒木の平衡化アルゴリズ