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

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

Автор:

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

Аннотация

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

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

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



Целые числа вводятся и выводятся стандартным образом:


julia> 10

10


julia> 0123456789

123456789


Тип по умолчанию для целых чисел зависит от разрядности системы (64-бита):


julia> typeof(10)

Int64


julia> typeof(0123456789)

Int64


Julia также определяет типы Int и UInt, которые являются псевдонимами для системных знаковых и беззнаковых типов целых чисел соответственно:


julia> Int

Int64


julia> UInt

UInt64


Большие целые числа, которые не могут быть представлены с использованием 64 бит, но могут быть представлены в 128 битах, всегда создают 128-битные целые числа, независимо от типа системы:


julia> typeof(10000000000000000000)

Int128

Беззнаковые целые числа

Беззнаковые целые числа вводятся и выводятся с использованием префикса 0x и цифр от 0 до 9, а также латинских букв от a до f, используемых для обозначения шестнадцатеричных чисел, использование заглавных букв A-F также допустимо. Размер беззнакового значения определяется количеством используемых шестнадцатеричных цифр:


julia> x = 0x1

0x01


julia> typeof(x)

UInt8


julia> x = 0x123

0x0123


julia> typeof(x)

UInt16


julia> x = 0x1234567

0x01234567


julia> typeof(x)

UInt32


julia> x = 0x123456789abcdef

0x0123456789abcdef


julia> typeof(x)

UInt64


julia> x = 0x11112222333344445555666677778888

0x11112222333344445555666677778888


julia> typeof(x)

UInt128


Значения, слишком большие для типов Int128, UInt128, при вводе получат специальный тип BigInt:


julia> typeof(100000000000000000000000000000000000000)

Int128


julia> typeof(1000000000000000000000000000000000000000)

BigInt


julia> typeof(0xffffffffffffffffffffffffffffffff)

UInt128


julia> typeof(0xfffffffffffffffffffffffffffffffff)

BigInt


Это не беззнаковый тип, но это единственный встроенный тип, достаточно большой для представления таких больших целых значений.

Поведение при переполнении

В Julia превышение максимального представляемого значения данного типа приводит к циклическому поведению. Пример (функции typemax(), typemin(), возвращают максимальное и минимальное значения для заданного типа, == оператор равенства):


julia> x = typemax(Int64)

9223372036854775807


julia> x+1

–9223372036854775808


julia> x + 1 == typemin(Int64)

true


julia> x = typemax(UInt64)

0xffffffffffffffff


julia> x+1

0x0000000000000000


julia> x + 1 == typemin(UInt64)

true


В тех случаях, когда переполнение возможно, рекомендуется производить проверку на цикличное поведение. В противном случае используйте тип BigInt арифметики произвольной точности. Ниже приведен пример поведения при переполнении и как его можно решить с помощью BigInt():


julia> 10^19

–8446744073709551616


julia> BigInt(10)^19

10000000000000000000

Числа с плавающей точкой

Типы чисел с плавающей точкой в Julia:





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


julia> 1.0

1.0


julia> 1.

1.0


julia> 0.5

0.5


julia> .5

0.5


julia> -1.23

–1.23


При необходимости можно использовать E-нотацию:


julia> 1e10

1.0e10


julia> 2.5e-4

0.00025


Все результаты из примеров выше имеют тип Float64 (тип по умолчанию). Если вы хотите ввести значение с типом Float32, то необходимо использовать f вместо e следующим образом:


julia> x = 0.5f0

0.5f0


julia> typeof(x)

Float32


julia> 2.5f-4

0.00025f0


Значение с типом Float16:


julia> Float16(4.)

Float16(4.0)


julia> 2*Float16(4.)

Float16(8.0)

Ноль с плавающей точкой

Числа с плавающей точкой имеют два нуля – положительный нуль и отрицательный нуль. Они равны друг другу, но имеют разные двоичные представления, что можно увидеть с помощью функции bitstring(), которая дает буквальное битовое представление примитивного типа:


julia> 0.0 == -0.0

true


julia> bitstring(0.0)

"0000000000000000000000000000000000000000000000000000000000000000"


julia> bitstring(-0.0)

"1000000000000000000000000000000000000000000000000000000000000000"


Когда точности или размерности Float64 недостаточно, можно использовать специальный тип BigFloat:


julia> 2.0^100/4

3.1691265005705735e29


julia> BigFloat(2.0)^100/4

3.16912650057057350374175801344e+29


BigFloat знаковый тип арифметики произвольной точности, не назначаемый автоматически при вводе, а требующий явного объявления для использования.


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


julia> (typemin(Float16),typemax(Float16))

(-Inf16, Inf16)


julia> (typemin(Float32),typemax(Float32))

(-Inf32, Inf32)


julia> (typemin(Float64),typemax(Float64))

(-Inf, Inf)


Результатом будут специальные значения – отрицательная и положительная бесконечности. Значения чисел превышающих числовой диапазон типа также будут заменены на специальные значения:


julia> 4.2^1000

Inf


julia> -4.2^1000

–Inf

Специальные значения

Существует три определенных стандартных значения с плавающей точкой, которые не соответствуют ни одной точке на линии вещественных чисел: