Перейти к содержанию

Julia. Язык программирования. Быстрый старт

Автор:

4,9 10+ оценок читателей Рунета
Категория
Программы
Год издания
Издательство
Автор
Возрастное ограничение
12+
Обновлено
25.09.2026

Аннотация

Начните писать программы на Julia в первый же день. Необходимы только минимальные знания в использовании компьютеров и программировании. Вы знаете что такое файл или каталог? Вам известны алгоритмы? Этого достаточно. Ничего лишнего. В этом справочнике раскрыты самые важные и часто затрагиваемые темы в краткой и ясной форме, а для желающих погрузиться в тему глубже представлены ссылки на необходимые источники информации. Подробные инструкции не упускают ни единого шага, а наглядные примеры полностью отображают в себе весь процесс работы. Вы всегда будете знать, что должно получиться в результате. Все примеры были протестированы на актуальной версии языка программирования Julia, доступной на момент написания данного справочника. Удобный дизайн оглавления позволяет быстро находить нужные примеры функции и команд. Нет нужды держать все в голове или постоянно лезть в интернет. Теперь третье издание с добавлением нового и обновлением старого.

Читать «Julia. Язык программирования. Быстрый старт» — Вадим Никитин онлайн

Страница 4 из 5


По стандарту IEEE 754, эти значения с плавающей точкой являются результатами определенных арифметических операций:


julia> 1/0

Inf


julia> -5/0

–Inf


julia> 0.000001/0

Inf


julia> 0/0

NaN


julia> 1/Inf

0.0


julia> 1/-Inf

–0.0


julia> -1/Inf

–0.0


julia> -1/-Inf

0.0


julia> 500 + Inf

Inf


julia> 500 – Inf

–Inf


julia> Inf + Inf

Inf


julia> -Inf -Inf

–Inf


julia> Inf – Inf

NaN


julia> Inf * Inf

Inf


julia> Inf*-Inf

–Inf


julia> -Inf * -Inf

Inf


julia> Inf / Inf

NaN


julia> Inf /-Inf

NaN


julia> -Inf /Inf

NaN


julia> -Inf /-Inf

NaN


julia> 0 * Inf

NaN


julia> 0 *-Inf

NaN

Тип NaN

NaN не равно, не меньше и не больше чего-либо, включая самого себя:


julia> NaN == NaN

false


julia> NaN != NaN

true


julia> NaN < NaN

false


julia> NaN > NaN

false


Это может вызвать проблемы, например при работе с массивами:


julia> [1 NaN] == [1 NaN]

false


Функции Julia для работы со специальными значениями:





Функция isequal() считает NaNs равными друг другу:

julia> isequal(NaN, NaN)

true


julia> isequal([1 NaN], [1 NaN])

true


julia> isequal(NaN, NaN32)

true


Функцию isequal() можно также использовать для различения знаковых нулей:

julia> -0.0 == 0.0

true


julia> isequal(-0.0, 0.0)

false

Машинный эпсилон

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


Функция eps() в Julia дает расстояние между 1.0 и следующим большим значением с плавающей точкой, при использовании в качестве аргумента типа числа с плавающей точкой:

julia> eps(Float16)

Float16(0.000977)


julia> eps(Float32)

1.1920929f-7


julia> eps(Float64)

2.220446049250313e-16


julia> eps(BigFloat)

1.727233711018888925077270372560079914223200072887256277004740694033718360632485e-77


Функция eps также может принимать в качестве аргумента значение с плавающей точкой, и выдавать абсолютную разницу между этим значением и следующим представимым значением с плавающей точкой. Другими словами, eps(x) выдает значение того же типа, что и x, такое, что x + eps(x) является следующим представимым значением с плавающей точкой, большим, чем x. Тип значения при этом также учитывается:

julia> eps(1.0)

2.220446049250313e-16


julia> eps(1000.)

1.1368683772161603e-13


julia> eps(1e-27)

1.793662034335766e-43


julia> eps(0.0)

5.0e-324


Расстояние между двумя соседними представляемыми числами с плавающей точкой не является постоянным, оно меньше для меньших значений и больше для больших значений. Другими словами, представляемые числа с плавающей запятой наиболее плотно расположены на линии вещественных чисел вблизи нуля и становятся более редкими экспоненциально по мере удаления от нуля. По определению, eps(1.0) – это то же самое, что eps(Float64), поскольку 1.0 – это 64-битное значение с плавающей точкой.


Если число не имеет точного представления с плавающей точкой, оно будет округлено до соответствующего представляемого значения. По умолчанию Julia использует режим округления, называемый RoundNearest. Он округляет до ближайшего целого числа, а ничьи округляются до ближайшего четного целого числа.

Базовые операторы Julia

Следующие арифметические операторы поддерживаются для всех примитивных числовых типов:





Несколько простых примеров с использованием арифметических операторов:


julia> 1+10-5

6


julia> 2-6

–4


julia> 5*20/10

10.0


julia> 20\10

0.5


julia> 3^3 27


julia> 5.5%-2

1.5


Число, помещенное непосредственно перед идентификатором или круглыми скобками, например, 2x или 2(x+y), рассматривается как умножение.

Логические операторы

Для типов Bool поддерживаются следующие логические операторы:





Примеры использования логических операторов:


julia> !true

false


julia> !false

true


julia> true && true

true


julia> true && false

false


julia> false && false

false


julia> true || true

true


julia> true || false

true


julia> false || false

false

Побитовые операторы

Следующие побитовые операторы поддерживаются для всех примитивных целочисленных типов: