C / C++のmodf()関数とは?使い方とサンプルコードを解説
modf()関数は、渡された引数(浮動小数点数)を整数部分と小数部分に分割するための関数です。数学的な計算を行うために「math.h」ヘッダーファイル内で宣言されており、戻り値として引数の小数部分を返します。整数部分は、第2引数として渡されたポインタが指す変数に格納されます。
modf()関数の構文
C言語におけるmodf()の構文は以下の通りです。
double modf(double value, double *integral_pointer);
パラメータの説明
value − 整数部分と小数部分に分割する対象となる値です。
integral_pointer − 分割後の整数部分を格納するためのポインタです。このポインタが指す変数に、引数の整数部分が代入されます。
modf()関数の使用例
以下は、C言語でmodf()を使用したサンプルプログラムです。
#include<stdio.h>
#include<math.h>
int main () {
double val, x, res;
val = 28.856;
res = modf(val, &x);
printf("Integral part of val : %lf\n", x);
printf("Fraction Part of val : %lf \n", res);
return(0);
}
実行結果
Integral part of val : 28.000000 Fraction Part of val : 0.856000
プログラムの解説
上記のプログラムでは、modf()関数を使って浮動小数点数を整数部分と小数部分に分割しています。まず、val、x、resの3つのdouble型変数を宣言し、valに28.856という値を代入しています。
次に、以下の行でmodf()関数を呼び出しています。
res = modf(val, &x);
この呼び出しにより、valの整数部分「28」が変数xに格納され、小数部分「0.856」が戻り値として変数resに代入されます。最後にprintf()関数を使って、それぞれの値を出力しています。
modf()関数は、数値の整数部と小数部を別々に扱いたい場合に便利な関数です。例えば、金額計算や端数処理など、小数点以下の値のみを抽出したい場面で活用できます。
-
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木をシミュレートすることになり、その結果、木の保守操作が大幅に簡素化されます。赤黒木の平衡化アルゴリズ