Common Lisp определяет несколько видов чисел. Тип данных номера включает в себя различные типы номеров, поддерживаемые LISP.
Типы номеров, поддерживаемые LISP:
- Целые
- Соотношения
- Числа с плавающей точкой
- Сложные числа
На следующей диаграмме показана иерархия чисел и различные числовые типы данных, доступные в LISP.
Различные числовые типы в LISP
В следующей таблице описаны данные различных типов номеров, доступные в LISP.
Sr.No. | Тип данных и описание |
---|---|
1 |
Fixnum Этот тип данных представляет целые числа, которые не слишком велики и в основном находятся в диапазоне от -215 до 215-1 (это зависит от машины) |
2 |
bignum Это очень большие числа, размер которых ограничен объемом памяти, выделенной для LISP, они не являются номерами фиксированного числа. |
3 |
соотношение Представляет соотношение двух чисел в форме числитель / знаменатель. Функция / всегда выдает результат в соотношениях, когда ее аргументы являются целыми числами. |
4 |
поплавок Он представляет нецелые числа. Существует четыре типа данных с плавающей запятой с возрастающей точностью. |
5 |
сложный Он представляет собой комплексные числа, которые обозначены #c. Действительная и мнимая части могут быть как рациональными, так и числами с плавающей точкой. |
Fixnum
Этот тип данных представляет целые числа, которые не слишком велики и в основном находятся в диапазоне от -215 до 215-1 (это зависит от машины)
bignum
Это очень большие числа, размер которых ограничен объемом памяти, выделенной для LISP, они не являются номерами фиксированного числа.
соотношение
Представляет соотношение двух чисел в форме числитель / знаменатель. Функция / всегда выдает результат в соотношениях, когда ее аргументы являются целыми числами.
поплавок
Он представляет нецелые числа. Существует четыре типа данных с плавающей запятой с возрастающей точностью.
сложный
Он представляет собой комплексные числа, которые обозначены #c. Действительная и мнимая части могут быть как рациональными, так и числами с плавающей точкой.
пример
Создайте новый файл исходного кода с именем main.lisp и введите в него следующий код.
(write (/ 1 2)) (terpri) (write ( + (/ 1 2) (/ 3 4))) (terpri) (write ( + #c( 1 2) #c( 3 -4)))
Когда вы выполняете код, он возвращает следующий результат —
1/2 5/4 #C(4 -2)
Числовые функции
В следующей таблице описаны некоторые часто используемые числовые функции —
Sr.No. | Описание функции |
---|---|
1 |
+, -, *, / Соответствующие арифметические операции |
2 |
грех, cos, загар, acos, асин, атан Соответствующие тригонометрические функции. |
3 |
Синх, Кош, Тан, Акош, Асин, Атанх Соответствующие гиперболические функции. |
4 |
ехр Функция экспонирования. Рассчитывает е х |
5 |
эксп Функция возведения в степень, берет основание и власть и то и другое. |
6 |
SQRT Он рассчитывает квадратный корень из числа. |
7 |
журнал Логарифмическая функция. Если задан один параметр, то он вычисляет свой натуральный логарифм, в противном случае второй параметр используется в качестве базового. |
8 |
сопряженный Он рассчитывает комплексное сопряжение числа. В случае действительного числа он возвращает сам номер. |
9 |
абс Возвращает абсолютное значение (или величину) числа. |
10 |
НОД Он рассчитывает наибольший общий делитель заданных чисел. |
11 |
LCM Он рассчитывает наименьшее общее кратное заданных чисел. |
12 |
isqrt Это дает наибольшее целое число, меньшее или равное точному квадратному корню данного натурального числа. |
13 |
пол, потолок, усеченный, круглый Все эти функции принимают два аргумента как число и возвращают частное; floor возвращает наибольшее целое число, которое не больше, чем отношение, потолок выбирает меньшее целое число, которое больше, чем отношение, усечение выбирает целое число того же знака, что и отношение с наибольшим абсолютным значением, которое меньше абсолютного значения отношения, и округляет выбор целое число, наиболее близкое к отношению. |
14 |
ffloor, fceiling, ftruncate, fround Делает то же самое, что и выше, но возвращает частное как число с плавающей запятой. |
15 |
мод, рем Возвращает остаток в операции деления. |
16 |
поплавок Преобразует действительное число в число с плавающей запятой. |
17 |
рациональный, рационализировать Преобразует действительное число в рациональное число. |
18 |
числитель, знаменатель Возвращает соответствующие части рационального числа. |
19 |
реалпарт, имагарт Возвращает действительную и мнимую часть комплексного числа. |
+, -, *, /
Соответствующие арифметические операции
грех, cos, загар, acos, асин, атан
Соответствующие тригонометрические функции.
Синх, Кош, Тан, Акош, Асин, Атанх
Соответствующие гиперболические функции.
ехр
Функция экспонирования. Рассчитывает е х
эксп
Функция возведения в степень, берет основание и власть и то и другое.
SQRT
Он рассчитывает квадратный корень из числа.
журнал
Логарифмическая функция. Если задан один параметр, то он вычисляет свой натуральный логарифм, в противном случае второй параметр используется в качестве базового.
сопряженный
Он рассчитывает комплексное сопряжение числа. В случае действительного числа он возвращает сам номер.
абс
Возвращает абсолютное значение (или величину) числа.
НОД
Он рассчитывает наибольший общий делитель заданных чисел.
LCM
Он рассчитывает наименьшее общее кратное заданных чисел.
isqrt
Это дает наибольшее целое число, меньшее или равное точному квадратному корню данного натурального числа.
пол, потолок, усеченный, круглый
Все эти функции принимают два аргумента как число и возвращают частное; floor возвращает наибольшее целое число, которое не больше, чем отношение, потолок выбирает меньшее целое число, которое больше, чем отношение, усечение выбирает целое число того же знака, что и отношение с наибольшим абсолютным значением, которое меньше абсолютного значения отношения, и округляет выбор целое число, наиболее близкое к отношению.
ffloor, fceiling, ftruncate, fround
Делает то же самое, что и выше, но возвращает частное как число с плавающей запятой.
мод, рем
Возвращает остаток в операции деления.
поплавок
Преобразует действительное число в число с плавающей запятой.
рациональный, рационализировать
Преобразует действительное число в рациональное число.
числитель, знаменатель
Возвращает соответствующие части рационального числа.
реалпарт, имагарт
Возвращает действительную и мнимую часть комплексного числа.
пример
Создайте новый файл исходного кода с именем main.lisp и введите в него следующий код.
(write (/ 45 78)) (terpri) (write (floor 45 78)) (terpri) (write (/ 3456 75)) (terpri) (write (floor 3456 75)) (terpri) (write (ceiling 3456 75)) (terpri) (write (truncate 3456 75)) (terpri) (write (round 3456 75)) (terpri) (write (ffloor 3456 75)) (terpri) (write (fceiling 3456 75)) (terpri) (write (ftruncate 3456 75)) (terpri) (write (fround 3456 75)) (terpri) (write (mod 3456 75)) (terpri) (setq c (complex 6 7)) (write c) (terpri) (write (complex 5 -9)) (terpri) (write (realpart c)) (terpri) (write (imagpart c))
Когда вы выполняете код, он возвращает следующий результат —