Julia 浮点型

Julia 浮点型,浮点数一般指带有小数点的数,是实数集的基础元素,也是科学计算中最为常见的数据类型。不同于整数的离散性,浮点数在实数轴上是稠密的,而且在计算机中的表达结构也更为复杂(可查阅相关资料了解)。因此,涉及密集浮点计算的代码往往都是性能问题的焦点。

虽然随着现代芯片技术的迅猛发展,硬件计算能力大幅度提升,甚至有专门用于浮点运算的芯片,但浮点运算始终都是需要开发者密切关注的内容。

基本定义

浮点型并不像整型那样区分出有符号或无符号,而是按照表达精度分成了三类,同样与内部的位数相关,具体如表所示。
Julia 浮点型

如果要在Julia中以字面值输入浮点数,可以有多种形式,如下所示:

julia> 1.0          # 正数
1.0

julia> 1.           # 省略了小数部分的0,但保留了小数点,用以明确是浮点数
1.0

julia> .5           # 省略整数部分的0,保留小数点
0.5

julia> -1.23        # 负数
-1.23

julia> 1e10         # 科学计数法
1.0e10

julia> 2.5e-4
0.00025

同样,可以使用bitstring()函数查看浮点数内部结构的二进制序列,例如:
Julia 浮点型

可见,浮点数的表达与整数有很大的不同。

默认情况下,64位系统会自动选择Float64类型。若要使用其他浮点类型,则需要显式地指明,代码如下:

julia> 0.5f0                # 字面值加上f0标识,会创建Float32类型
5f0

julia> typeof(ans)
Float32

julia> 2.5f-4               # 计数法使用f代替e
0.00025f0

julia> typeof(ans)
Float32

julia> Float32(0.5)        # 显式地进行类型限定
0.5f0

半精度类型Float16一般不太常用,只用于特定情况。即使将某个数值限定为Float16类型,参与计算时也会由Julia处理为Float32类型。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!