C/C の符号関数 (Signum)
一般にsignum または sgn として知られる符号関数は、数値の符号を決定します。価値。通常、負の値の場合は -1、ゼロの場合は 0、正の値の場合は 1 を返します。 C および C には、数値の符号の計算専用の組み込み標準ライブラリ関数はありません。ただし、独自の符号関数を実装するために使用できる方法がいくつかあります。
タイプセーフな C 符号関数の実装
で符号関数を実装する 1 つのアプローチC では、さまざまな数値型で機能するテンプレートベースの関数を使用します。そのような関数の例を次に示します。
template <typename T> int sgn(T val) { return (T(0) < val) - (val < T(0)); }
この関数はテンプレートのタイプ セーフを活用し、整数、浮動小数点、倍精度浮動小数点数などのさまざまな数値データ型を操作できるようにします。入力値をゼロと比較することで効率的に符号を決定し、負の値の場合は -1、ゼロの場合は 0、正の値の場合は 1 を返します。
この実装の利点:
注意事項:
したがって、C と C では提供されません。ネイティブの符号関数であるため、上記のメソッドを使用して独自の符号関数を簡単に実装し、コード内の数値の符号を決定できます。
以上がC/C で Signum (Sign) 関数を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。