Базовые функции

Julia поддерживает три формы числового преобразования, которые отличаются друг от друга обработкой неточных преобразований:


Записи вида T(x) или convert(T,x) преобразуют x в значение типа T. Результат зависит от следующих двух случаев:


● Если T – тип с плавающей точкой, то результатом будет ближайшее представимое значение, которое может быть положительной или отрицательной бесконечностью.


● Если T является целочисленным типом, и x не может быть представлен в типе T (наличие значащих цифр после запятой или переполнение типа Т), то возникает ошибка InexactError.


Запись вида x%T преобразует целое число x в значение целочисленного типа T, соответствующее x по модулю 2^n. Здесь n представляет количество битов в T. Другими словами, двоичное представление усекается, чтобы оно соответствовало размеру. Применимо только для целых чисел и целочисленных типов, переполнение типа обрабатывается стандартно.


Функции округления принимают тип T в качестве необязательного аргумента. Например, round(Int,x) – это сокращение для Int(round(x)). Переполнение типа вызывает ошибку.


Пример числовых преобразований, описанных выше:


julia> Int8(100)

100


julia> Int8(100.25)

ERROR: InexactError: Int8(100.25)


julia> Int8(128)

ERROR: InexactError: trunc(Int8, 128)


julia> 100 % Int8

100


julia> 128 % Int8

–128


julia> 129 % Int8

–127


julia> round(Int8, 100.51)

101


julia> round(Int8, 127.51)

ERROR: InexactError: trunc(Int8, 128.0)

Функции округления

В таблице ниже показаны функции округления Julia:





Пример использования функций округления:


julia> round(4.6)

Загрузка...