ホームページ > バックエンド開発 > C++ > C で丸め関数を実装するにはどうすればよいですか?

C で丸め関数を実装するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-04 04:09:38
オリジナル
928 人が閲覧しました

How Can I Implement a Rounding Function in C  ?

round() を使用した C の浮動小数点数の丸め

標準 C ライブラリに専用のround() 関数がない場合、開発者は ceil() や Floor() などの他の関数に頼ることがよくあります。ただし、精度を制御するには、多くの場合、特定の丸め関数が必要になります。

カスタムround() 関数の実装

round() 関数は、浮動小数点数を丸めます。 「四捨五入」ルールに基づいており、整数間のちょうど中間の数値が切り上げられます。次の C コードは、この関数の実装を提供します。

double round(double d) {
  return floor(d + 0.5);
}
ログイン後にコピー

この実装は基本的に数値に 0.5 を加算し、floor() 関数を使用して結果を最も近い整数に切り捨てます。

その他の四捨五入方法

「四捨五入」ルールが一般的に使用されますが、

  • 偶数への丸め: このメソッドは、整数の中間の数値を最も近い偶数に丸め、偏りを減らします。
  • 四捨五入: このメソッドは常に数値を負の方向に丸めます。 infinity.
  • Round-Upward: このメソッドは、常に正の無限大に向かって数値を丸めます。

これらのメソッドの実装は、オンラインで見つけることも、特定の仕様に基づいてカスタム作成することもできます。

注:

C 11 標準では、組み込みのround() 関数 (std::round、std::lround、および std::llround) が導入されました。 ) 同様の機能を提供するため、最新のコンパイラや標準ライブラリではカスタム実装が不要になります。

以上がC で丸め関数を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート