web-dev-qa-db-ja.com

数値範囲を記述するときの「排他的」および「包括的」の意味は何ですか?

簡単な質問ですが、数字の範囲について言及する場合、排他的および包括的であると思います。

たとえば、これはアルゴリズムの本からの行です:

次の関数は、1からn(2を含む)までの2のべき乗を出力します。

これはどういう意味ですか?数値範囲を包括的または排他的にする理由は何ですか?

14
Joel De La Cruz

次の関数は、1からn(2を含む)までの2のべき乗を出力します。

これは、関数が2^iを計算することを意味します。ここで、i = 1, 2, ..., n、つまりiは1からまでの値を持ち、n。つまり、nはIncluded in Inclusive

一方、あなたの本が言っていた場合:

次の関数は、1からnまでの2のべき乗を出力します(exclusive)。

これは、i = 1, 2, ..., n-1、つまりiはn-1までの値をとることができるが、notnは、i = n-1が持つことができる最高値であることを意味します。つまり、nはexcludedexclusive.

17
Tim Biegeleisen

コンピューターサイエンスでは、包括的/排他的はアルゴリズムには適用されませんが、数値範囲(より具体的には、範囲のエンドポイント)に適用されます。

1 through 10 (inclusive)
1 2 3 4 5 6 7 8 9 10

1 through 10 (exclusive)
1 2 3 4 5 6 7 8 9

数学では、上記の2つの範囲は次のようになります。

[1, 10]
[1, 10)

簡単に思い出せます:

  • Incl sive-Incl Ding the last number
  • Excl sive-Excl最後の番号を書く
29
Rakete1111