C言語 floor関数の使い方

この記事のポイント

floor関数について学習する際に押さえておきたい要点を以下にまとめました。プログラミング初心者でも理解しやすいよう、基本から応用まで段階的に説明していきます。

  • floor関数による小数点以下の切り捨て処理
  • 標準ライブラリの使用方法と戻り値の理解
  • 実際のプログラムで活用できる具体的なコード例

これらのポイントを理解することで、数値処理において正確な計算結果を得ることができるようになります。

目次

floor関数とは?

floor関数は、C言語の標準数学ライブラリに含まれる関数で、引数として渡された浮動小数点数以下の最大の整数値を返します。つまり、小数点以下を切り捨てる処理を行う関数です。

この関数を使用するには、プログラムの冒頭でmath.hヘッダファイルをインクルードする必要があります。floor関数は負の数に対しても適切に動作し、例えば-3.7に対しては-4を返します。これは単純な型変換とは異なる動作で、数学的な床関数の定義に従った処理となります。

戻り値の型はdouble型で返されるため、必要に応じて他の型にキャストして使用することも可能です。

【関連】
C言語をもっと詳しく学ぶならpaizaラーニング

基本構文

floor関数の基本的な書き方について説明します。この関数を使用する際の基本的な形式と、いくつかのパターンを確認していきましょう。

#include <stdio.h> #include <math.h> int main() { double result = floor(5.8); printf("floor(5.8) = %.1f\n", result); return 0; }

出力結果

floor(5.8) = 5.0
#include <stdio.h> #include <math.h> int main() { double num = -2.3; double result = floor(num); printf("floor(%.1f) = %.1f\n", num, result); return 0; }

出力結果

floor(-2.3) = -3.0

上記のコード例では、正の数と負の数それぞれに対するfloor関数の動作を確認できます。正の数では小数点以下が単純に切り捨てられますが、負の数では数学的な床関数の定義に従って、より小さい整数値が返されることがわかります。これらの基本パターンを理解することで、さまざまな場面でfloor関数を適切に活用できるようになります。

実用例

floor関数をより実践的なプログラムで活用する方法について解説します。ここでは具体的なサンプルコードを通じて、実際のプログラミングにおけるfloor関数の使い方を学んでいきます。数値処理、配列のインデックス計算、グラフィックス処理など、さまざまな場面で役立つ技術を身につけることができます。各例では動物をテーマにしたデータを使用して、親しみやすく理解しやすい内容となっています。これらのサンプルコードを参考に、自分のプログラムにfloor関数を組み込む際の応用方法を習得してください。

体重管理

ペットの体重を整数部分のみで管理したい場合のコード例です。

#include <stdio.h> #include <math.h> int main() { double cat_weight = 4.8; int weight_floor = (int)floor(cat_weight); printf("ネコの体重: %.1fkg\n", cat_weight); printf("整数部分: %dkg\n", weight_floor); return 0; }

出力結果

ネコの体重: 4.8kg
整数部分: 4kg

散歩時間計算

散歩時間を分単位で切り捨てて表示する例です。

#include <stdio.h> #include <math.h> int main() { double walk_time = 35.7; int minutes = (int)floor(walk_time); printf("イヌの散歩時間: %.1f分\n", walk_time); printf("切り捨て時間: %d分\n", minutes); return 0; }

出力結果

イヌの散歩時間: 35.7分
切り捨て時間: 35分

餌やり回数計算

1日の餌やり回数を計算して整数で表示します。

#include <stdio.h> #include <math.h> int main() { double feeding_rate = 3.9; int times = (int)floor(feeding_rate); printf("ウサギの餌やり: %.1f回/日\n", feeding_rate); printf("実際の回数: %d回/日\n", times); return 0; }

出力結果

ウサギの餌やり: 3.9回/日
実際の回数: 3回/日

走行距離測定

回し車での走行距離をキロメートル単位で切り捨てます。

#include <stdio.h> #include <math.h> int main() { double distance = 2.6; int km_distance = (int)floor(distance); printf("ハムスター走行距離: %.1fkm\n", distance); printf("キロメートル単位: %dkm\n", km_distance); return 0; }

出力結果

ハムスター走行距離: 2.6km
キロメートル単位: 2km

卵の個数計算

産卵数の小数点以下を切り捨てて個数を算出します。

#include <stdio.h> #include <math.h> int main() { double egg_count = 12.4; int eggs = (int)floor(egg_count); printf("トリの産卵数: %.1f個\n", egg_count); printf("実際の個数: %d個\n", eggs); return 0; }

出力結果

トリの産卵数: 12.4個
実際の個数: 12個

まとめ

floor関数について、基本的な使い方から実践的な応用例まで幅広く解説してきました。この関数は数値処理において欠かすことのできない機能であり、正確な計算結果を得るために適切に活用することが大切です。

floor関数が活躍する場面

  • データ処理における数値の正規化作業
  • グラフィックス処理でのピクセル座標計算
  • 統計処理での階級値やビンの決定処理

重要なポイント

  • 負の数では数学的な床関数の定義に従った動作
  • math.hヘッダファイルのインクルードが必須
  • 戻り値はdouble型で返される仕様

floor関数をマスターすることで、より精密で信頼性の高いプログラムを作成できるようになります。基本構文を理解し、実用例を参考にしながら、自分のプログラムに積極的に取り入れてみてください。数値処理の場面では特に威力を発揮する関数なので、プログラミングスキルの向上に大いに役立つことでしょう。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. C言語のリファレンス記事一覧
  4. C言語 floor関数の使い方