C での浮動小数点値の丸め
標準 C ライブラリに、この処理を容易にするround() という名前の関数が含まれているかどうかという疑問が生じます。浮動小数点値の丸め。 math.h ヘッダーに ceil() と Floor() が存在するにもかかわらず、round() は存在しないままです。
丸め関数の実装
round()は C 98 標準ライブラリではネイティブに使用できませんが、実装は比較的簡単です。次に、四捨五入関数の例を示します。
double round(double d) { return floor(d + 0.5); }
この実装では、入力に 0.5 を加算して丸め値を計算し、その後、floor 関数を適用して結果を切り捨てます。
C 98 標準ライブラリに存在しない理由
省略C 98 標準のround() の特徴は、さまざまな方法で実装できるという事実に由来していると考えられます。一般的には四捨五入の手法が使用されますが、偶数への四捨五入などの他の四捨五入方法も存在します。これらのさまざまなアプローチを実装すると、標準ライブラリが複雑になります。
最新の C ソリューション
C 11 では、組み込みのround() 関数が導入されました: std::round、std: :lround、および std::llround。これらは、浮動小数点値の丸め演算を実行するためのより堅牢かつ効率的な方法を提供します。
以上がC には組み込みの Round 関数はありますか? どのように実装すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。