1. ホーム
  2. language-agnostic

[解決済み] 符号付き値より符号なし値を使うべきですか?

2023-05-28 18:25:41

質問

符号付き変数より符号なし変数を使うのが適切なのはどのような場合ですか?例えば for ループではどうでしょうか?

これについては多くの意見を聞きますが、コンセンサスのようなものがあるかどうかを確認したかったのです。

for (unsigned int i = 0; i < someThing.length(); i++) {  
    SomeThing var = someThing.at(i);  
    // You get the idea.  
}

Javaに符号なし値がないことは知っていますし、それはきっと サン・マイクロシステムズ の側で慎重に決定されたに違いありません。

どのように解決するのですか?

私は 会話ができてよかった。 を見つけることができ、嬉しく思います。

要約すると、(典型的な for ループのケースのように)変数に対して演算を行う場合、すべての数値が正であると確信がある場合でも、符号付きは良い一般的な選択です。

unsignedがより意味を持ち始めるのは、次のような場合です。

  • を行うことになります。 ビット単位 マスクのような、あるいは
  • あなたは 必死 サインビットを利用するために を利用することで、余分な正の範囲を .

個人的には、一貫性を保つために自分自身を信用せず、(記事が警告しているように)2つのタイプを混在させないようにするために、署名が好きです。