Какое наибольшее значение целого числа в схеме / ракетке?

#scheme #racket

#схема #ракетка

Вопрос:

Я пытаюсь выяснить, каково именно наибольшее значение int в scheme? Например, в Java наибольшее значение int со знаком равно 2 ^ 31 — 1.

Как я могу получить это значение в схеме (для наибольшего значения int)

Комментарии:

1. приятно быть освобожденным от необходимости думать об этих вещах?

Ответ №1:

Большинство реализаций Scheme и Lisp, включая Racket, имеют bignums, что означает, что целые числа имеют практически неограниченную величину, ограниченную только доступной памятью.

Запрашивать наибольшее значение int — это все равно, что запрашивать максимальную длину списка.

Комментарии:

1. R5RS и более ранние версии не требовали полной числовой башни, и в отчете указано, что схема, которая поддерживает только значения с плавающей точкой, может быть полезной. Таким образом, Racket не имеет значения, превышающего требования.

2. Я никогда не говорил, что это требование, просто оно есть в большинстве реализаций.

3. Возможно, вы интерпретировали «поддержку» как означающее, что они делали это для поддержки требования. Я изменил его на «иметь».

Ответ №2:

В ракетке встроенные точные числа имеют произвольную точность