Juliaの数値型
from Juliaのデータ型
Julia.iconの数値型
下位型 <: 上位型のような関係
Int64: 64bit符号つき整数型
Int64 <: Signed <: Integer
UInt64: 64bit符号なし整数型
UInt64 <: Unsigned <: Integer
Bool: ブール型
Bool <: Integer
Float64: 64bit浮動小数点数型
Float64 <: AbstractFloat <: Real
Rational{T}: 有理数複合型
Rational{T<:Integer} <: Real
(:num, :den)
Irrational: 無理数型
Irrational{sym} <: AbstractIrrational
π
ℯ
γ
Juliaの組み込み定数
Complex{T}: 複素数複合型
Complex{T<:Real} <: Number
(:re, :im)
数値型の_は読み飛ばされる
位の区切りにできる
https://docs.julialang.org/en/v1/manual/integers-and-floating-point-numbers/#Floating-Point-Numbers
code:jl
10_000, 0.000_000_005, 0xdead_beef, 0b1011_0010
# (10000, 5.0e-9, 0xdeadbeef, 0xb2)
区切り付きで出力するとおもしろそうあんも.icon
REPLで数値型が出るときに割り込むみたいな動作
数値変換
https://docs.julialang.org/en/v1/manual/mathematical-operations/#Numerical-Conversions
型の変換
code:jl
UInt8(176) # 0xb0
convert(UInt8, 176) # 0xb0
符号つき整数型に変換
$ 129 % Int8 # -127
丸め処理の後片付け
$ round(Int8,127.4) # 127
有理数に近似
$ rationalize(5.6) # 28//5
16進数が想定されたString型を数値型にする?あんも.icon
$ parse(Int, "afc", base = 16)
https://docs.julialang.org/en/v1/base/numbers/#Base.parse
最大値と特別な値
https://docs.julialang.org/en/v1/base/base/#Base.typemax
code:jl
typemax(Int8) # 127
typemax(UInt32) # 0xffffffff
typemax(Int64) # 9223372036854775807
typemax(Float64) # Inf
typemax(Float32) # Inf32
# largest finite Float32 floating point number
floatmax(Float32) # 3.4028235f38
floatmax(Float64) # 1.7976931348623157e308
prevfloat(Inf) # 1.7976931348623157e308
nextfloat(-Inf) # -1.7976931348623157e308