整数和浮点值是算术和计算的基础。例如,1
是一个整数,1.0
而是一个浮点数。
以下是julia 中常见的数字类型:
- 整数类型
类型 | 位数 | 最小的价值 | 最大的价值 |
---|---|---|---|
Int8 | 8 | -2 ^ 7 | 2 ^ 7 - 1 |
UInt8 | 8 | 0 | 2 ^ 8 - 1 |
Int16 | 16 | -2 ^ 15 | 2 ^ 15 - 1 |
UInt16 | 16 | 0 | 2 ^ 16 - 1 |
Int32 | 32 | -2 ^ 31 | 2 ^ 31 - 1 |
UInt32 | 32 | 0 | 2 ^ 32 - 1 |
Int64 | 64 | -2 ^ 63 | 2 ^ 63 - 1 |
UInt64 | 64 | 0 | 2 ^ 64 - 1 |
Int128 | 128 | -2 ^ 127 | 2 ^ 127 - 1 |
UInt128 | 128 | 0 | 2 ^ 128 - 1 |
Bool | 8 | false (0) | true (1) |
- 浮点类型
类型 | 精确 | 位数 |
---|---|---|
Float16 | 半 | 16 |
Float32 | 单 | 32 |
Float64 | 双 | 64 |
整形
代码语言:javascript复制 _
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.0.0 (2018-08-08)
_/ |__'_|_|_|__'_| | Official https://julialang.org/ release
|__/ |
julia > 1
1
julia > 1234
1234
整数文字的默认类型取决于目标系统是32位架构还是64位架构:
代码语言:javascript复制# 32位操作系统
julia > typeof(1)
Int32
# 64位操作系统
julia > typeof(1)
Int64
Julia内部变量Sys.WORD_SIZE
能够直接获取目标系统位数:
# 32位操作系统
julia > Sys.WORD_SIZE
32
# 64位操作系统
julia > Sys.WORD_SIZE
64
Julia还定义了类型Int和类型UInt,如下:
代码语言:javascript复制# 32位操作系统
julia > Int
Int32
julia > UInt
UInt32
# 64位操作系统
julia > Int
Int64
julia > UInt
UInt64
julia 支持二进制和八进制、16进制的输入值
代码语言:javascript复制julia > 0x1
0x01
julia > typeof(ans)
UInt8
julia > 0x123
0x0123
julia > typeof(ans)
UInt16
julia > 0x1234567
0x01234567
julia > typeof(ans)
UInt32
julia > 0x123456789abcdef
0x0123456789abcdef
julia > typeof(ans)
UInt64
julia > 0x11112222333344445555666677778888
0x11112222333344445555666677778888
julia > typeof(ans)
UInt128
上方中的ans
指的是紧邻的上一条指令的输出结果
同样,既然有最大值以及最小值,即存在溢出的问题,从而会导致环绕行为,如例:
代码语言:javascript复制julia > typemax(Int64)
9223372036854775807
julia > typemax(Int64) 1
-9223372036854775808
julia > typemin(Int64)
-9223372036854775808
浮点数
julia 中浮点数常见的例子
代码语言:javascript复制julia > 1.0
1.0
julia > 1.
1.0
julia > 0.5
0.5
julia > .5
0.5
julia > -1.23
-1.23
julia > 1e10
1.0e10
julia > 2.5e-4
0.00025
参考资料
[1]: julia 官方教程