ISBN :
Возрастное ограничение : 12
Дата обновления : 03.09.2023
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
Специальные значения
Существует три определенных стандартных значения с плавающей точкой, которые не соответствуют ни одной точке на линии вещественных чисел:
По стандарту 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
Все книги на сайте предоставены для ознакомления и защищены авторским правом