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

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

Автор:

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

Аннотация

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

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

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





julia> ~100

–101


julia> 121 & 232

104


julia> 121 | 232

249


julia> 121 ⊻ 232 #Знак юникода

145


julia> xor(121, 232)

145


julia> ~UInt32(121)

0xffffff86


julia> ~UInt8(121)

0x86

Операторы обновления

Каждый арифметические и побитовый оператор имеет обновляющую версию, которую можно сформировать, поставив знак равенства (=) сразу после оператора. Этот оператор обновления присваивает результат операции обратно своему левому операнду.

Версии всех двоичных арифметических и побитовых операторов:





Пример использования операторов обновления:


julia> x = 25

25


julia> x += 25

50


julia> x

50


Оператор обновления переопределяет переменную в левой части. В результате тип переменной может измениться:


julia> x = 0x01

0x01


julia> typeof(x)

UInt8


julia> x *= 2

2


julia> typeof(x)

Int64

Векторизированные “точечные” операторы

Для каждого бинарного оператора существует соответствующий "точечный" оператор, который применяет оператор поэлементно над многоэлементными структурами (массивы и т.п.).

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


julia> [2, 4 ,6].^2

3-element Vector{Int64}:

4

16

36


julia> x=[1 2 3 4 5 ; 6 7 8 9 10]

2×5 Matrix{Int64}:

1 2 3 4 5

6 7 8 9 10


julia> x.+1

2×5 Matrix{Int64}:

2 3 4 5 6

7 8 9 10 11


julia> x

2×5 Matrix{Int64}:

1 2 3 4 5

6 7 8 9 10


julia> x .+=1

2×5 Matrix{Int64}:

2 3 4 5 6

7 8 9 10 11


julia> x

2×5 Matrix{Int64}:

2 3 4 5 6

7 8 9 10 11


Обратите внимание, "точечные" операторы обновления изменяют исходные значения, в отличии от остальных, создающих новые.

Операторы сравнения

Для всех примитивных числовых типов определены стандартные операции сравнения:





Пример использования операторов сравнения:


julia> 2 == 2.0

true


julia> 3 == 5

false


julia> 3 != 5

true


julia> 3 < 5

true


Целочисленные числа сравниваются стандартным образом – путем сравнения битов. Числа с плавающей точкой сравниваются в соответствии со стандартом IEEE 754:

Конечные числа упорядочиваются обычным образом.

Положительный ноль равен, но не больше отрицательного нуля.

Inf равно самому себе и больше, чем все остальные, кроме NaN.

–Inf равно самому себе и меньше всех остальных, кроме NaN.

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


Использование "точечных" операторов сравнения для многоэлементных структур возвращает булев массив с результатами сравнения для каждого элемента:


julia> [1,2,3,4,5].<= 3

5-element BitVector:

1

1

1

0

0


Сравнения в Julia можно объединять в цепочки:


julia> 10 < 15 <= 20 < 30 == 30 > 20 >= 10 == 10 < 30 != 5

true


julia> x=[1 2 3 4 5 ; 6 7 8 9 10]

2×5 Matrix{Int64}:

1 2 3 4 5

6 7 8 9 10


julia> 1 .< x .< 7

2×5 BitMatrix:

0 1 1 1 1

1 0 0 0 0

Приоритет и ассоциативность операторов

Julia применяет следующий порядок и ассоциативность операций, от высшего к низшему:





Числовые коэффициенты, например, 2x, рассматриваются как умножение с более высоким старшинством, чем любая другая двоичная операция, за исключением ^, где они имеют старшинство только как экспонента:


julia> x = 3

3


julia> 2x^2

18


julia> 2^2x

64

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

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


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


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


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


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

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.