【C言語】負数を切り捨てする方法を解説

この記事では、C言語で負数を切り捨てる方法について解説します。

具体的には、«floor関数»を使った方法と関数を自作する方法について紹介します。

初心者の方でもわかりやすく、サンプルコードを交えて詳しく説明します。

目次から探す

C言語で負数を切り捨てる方法

負数を切り捨てる方法には、主に以下の2つの方法があります。

floor関数を使った方法

C言語では、math.hヘッダファイルに含まれる«floor関数»を使用することで、負数を切り捨てることができます。

«floor関数»は、与えられた引数以下の最大の整数を返す関数です。

以下に、«floor関数»を使った負数の切り捨ての例を示します。

#include <stdio.h>
#include <math.h>
int main() {
    double num = -3.7;
    double result = floor(num);
    printf("切り捨て後の値: %lf\n", result);
    return 0;
}
切り捨て後の値: -4.000000

上記の例では、«変数num»に-3.7を代入し、«floor関数»を使って切り捨てを行っています。

結果として、-4.0が表示されます。

関数を自作する方法

もう一つの方法は、自分で関数を作成する方法です。

以下に、関数を自作して負数を切り捨てる方法の例を示します。

#include <stdio.h>
int truncate(double num) {
    if (num >= 0) {
        return (int)num;
    } else {
        return (int)(num - 1);
    }
}
int main() {
    double num = -3.7;
    int result = truncate(num);
    printf("切り捨て後の値: %d\n", result);
    return 0;
}
切り捨て後の値: -4

上記の例では、«truncate»という関数を自作しています。

この関数では、与えられた引数が正の場合はそのまま整数に変換し、負の場合は1を引いた後に整数に変換しています。

結果として、-4が表示されます。

目次から探す