целое (integer)
1
-1
Обратите внимание, что знак "-" не должен отделяться от числа пробелами, так как в этом случае он будет принят за функцию вычитания.
(number? 1)
->#t
(integer? 1)
->#t
(exact? 1);точное ли число
->#t
* real --вещественный
Неточные вещественные
1.02
-1.02
(number? 1.02)
->#t
(real? 1.02)
->#t
(inexact? 1.02)
->#t
(exact? 1.02)
->#f
(rational? 1.02)
->#f
Рациональные числа (точные вещественные), записываются как обычная дробь, здесь символ деления не является вызовом функции и не должен отделяться от числа.
123/5
-123/5
(number? 123/5)
->#t
(real? 123/5)
->#t
(exact? 123/5)
->#t
(rational? 123/5)
->#t
Сравнение чисел.
Самым простым способом сравниия двух и более чисел является функция "=":
(= 1 1)
->#t
(= 1 2)
->#f
(= 1 2 3)
Для сравнения чисел можно также использовать функцию "eqv?", в отличае от функции "=", функция "eqv?" принимает только два аргумента и возвращает #t только тогда, когда сравниваемые числа не только равны, но у них совпадает точность.
(eqv? 40 40.0)
->#f
(eqv? 40 40/1)
->#t
(eqv? 40 40.0)
->#f
(eqv? 40/1 40.0)
->#f
Сравнение чисел
* > -- больше
(> 1 2)
->#f
* >= -- больше или равно
(>= 1 2)
->#f
(>= 2 2)
->#t
* < -- меньше
(< 1 2)
->#f
* <= -- меньше или равно
(<= 1 2)
->#f
Другие операции с числами
* zero? -- являе -- является ли число
positive? -- является ли число положительным
negative? -- является ли число отрицательным
odd? -- является ли число нечётным
even? -- является ли числым чётным
finite?
infinite?
nan?