2016-08-18 21 views
4

Простой вопрос, но я вижу эксклюзивный и включительный, когда ссылаюсь на диапазоны чисел.В чем смысл «эксклюзивных» и «включительных» при описании диапазонов чисел?

Например, это строка из книги алгоритмов:

Следующая функция печатает полномочия 2 от 1 до п (включительно).

Что имеется в виду под этим? Что делает ряд номеров включительно или эксклюзивным?

+0

При использовании этих чисел внутри циклов или если-то еще, использовать их как 'в то время как (i ++

+0

Мне больше нравятся математические термины, чем термин CS.При описании диапазона последовательностей мы обычно обрабатываем двусмысленность английского языка «от x до y», явно указывая «inclusive»/'exclusive', чтобы объяснить, включены ли конечные точки (x или y) в контекст описания. (В математике он записывается как [x, y], (x, y) или [x, y), в зависимости от того, включены ли концы) – shole

ответ

8

Следующая функция печатает степени 2 от 1 до n (включительно).

Это означает, что функция будет вычислять 2^i, где i = 1, 2, ..., n, другими словами, i может иметь значения от 1 до включительно значение n. то есть п Включено в Inclusive

Если, с другой стороны, ваша книга уже сказал:

Следующая функция печатает полномочия 2 от 1 до п (исключительный).

Это означало бы, что i = 1, 2, ..., n-1, т.е. i может принимать значения до п-1, но не в том числе, n, что означает i = n-1 является высшей ценностью она может have.ie п исключены in исключая.

+0

Это было очень полезно, мне нравится, как вы отформатировали ответ. Благодаря! –

11

В вычислительной технике, включая/эксклюзивное не относится к алгоритмам, но в диапазоне номер (более конкретно, к конечной точке диапазона):

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) 

Вы можете запомнить это легко:

  • Inclu SIVE - Inclu динь последний номер
  • EXCLU SIVE - EXCLU динь последний номер
+4

Более педантично он применяется к ** конечной точке ** диапазона - потенциально как начальному, так и окончательному. В математике вы должны написать '[1, 10]' для закрытого интервала (с включенными обеими оконечными точками), '(1, 10)' для открытого интервала (с эксклюзивными обоюдными точками), '[1, 10)' (включает 1, исключает 10), а '(1, 10]' (исключает 1, включает в себя 10). При программировании мы просто прагматически используем все интервалы, начиная с указанного числа (включительно), так что только конечная точка говорил о. – Amadan

+0

@Amadan Интересно знать :) Спасибо – Rakete1111

+1

Все, понимая значения скобок и обозначений парнов двух типов диапазонов, показанных выше, важно. Это помогает уменьшить надоедливые ошибки, если мы все говорим на одном языке. – DWoldrich