C/C には標準の符号関数はありますか?
質問:
I負の数の場合は -1、正の数の場合は 1 を出力する関数を探しています。その単純さにもかかわらず、この機能はどこかの標準ライブラリで利用できるのではないかと思います。具体的には、float データ型を操作する関数が必要です。
答え:
はい、この目的を果たす、signum と呼ばれる標準 C 関数があります。ただし、この関数はタイプセーフであることに注意することが重要です。つまり、float だけでなくさまざまなデータ型を操作できることを意味します。次に、signum の一般的な実装を示します。
template <typename T> int sgn(T val) { return (T(0) < val) - (val < T(0)); }
この関数には、カスタム実装に比べていくつかの利点があります。
使用法:
int sign = sgn(-1.5); // -1 sign = sgn(0.0); // 0 sign = sgn(3.14); // 1
注意事項:
結論として、関数 Signum は、C で数値の符号を決定するための多用途かつ効率的なソリューションを提供します。標準ライブラリの浮動小数点数には直接使用できない場合がありますが、タイプセーフな実装により、幅広いデータ型で驚くべき精度で使用できます。
以上がC/C には浮動小数点数に対する標準の符号関数がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。