私がこれを非主観的にすることができることを願っています
固定型言語では、メソッドや関数への入力を、やなどのunsigned
型を使用して正の数に制限することがあります。unsigned int
unsigned double
しかし、ほとんどの図書館はそのように考えていないようです。C#を取りstring.Length
ます。負になることはありませんが、整数です。同じことがC/C++にも当てはまります。sqrt
入力はint
またはdouble
です。これには理由があることを私は知っています...たとえば、引数がファイルから読み取られる可能性があり、(理由はわかりませんが)値を関数に直接送信し、後でエラーをチェックする(またはtry-catchブロックを使用する)ことをお勧めします)。
したがって、ライブラリは自分のコードよりもはるかに優れた設計になっていると思います。では、正の数を表すために符号なしの数を使用する理由は何ですか?キャストしてから署名付きタイプに戻すときのオーバーフローが原因ですか?