Удовлетворяет ли это уравнение бесконечное число с плавающей точкой?

для двойного или плавающего,

1. -inf < inf == true

2. inf + inf == inf

3. -inf - inf == -inf

4. positive / 0.0 == inf

5. negative / 0.0 == -inf

6. any real number < inf == true

7. -inf < any real number == true

Это утверждение верно?

Мы не знаем (inf < inf), но мы можем быть уверены, что это не исключение.

1

Решение

Все выражения 1-7 в вашем вопросе оцениваются как true когда компилируется компилятором, который реализует правила IEEE 754. Ни один из них не зависит от режима округления. Для многих это просто потому, что < а также == точные операции. К тому же, -inf - inf всегда -inf (то есть во всех режимах округления), positive / 0.0 всегда +inf, а также negative / 0.0 всегда -inf,

В 6. и 7. ниже обычно называют значения, которые вы называете «конечными», а не «действительными».

  1. любое действительное число < инф == правда

  2. -инф < любое действительное число == верно

inf < inf всегда оценивается как ложное. Это, как и все свойства 1-7 в вашем вопросе, следует считать условным. Было решено сделать inf равных себе, так что он не строго меньше, чем он сам. Все эти варианты предназначены для того, чтобы сделать арифметику IEEE 754 максимально полезной на практике. Другими словами, предполагалось иметь как можно больше реализуемых алгоритмов без необходимости явно проверять эти специальные значения, и вычисления продолжали иметь смысл (когда это применимо), когда они происходят. Когда специальные значения не имеют смысла, конечно, всегда есть возможность проверить их.

5

Другие решения


По вопросам рекламы [email protected]