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()
函数查看浮点数内部结构的二进制序列,例如:
可见,浮点数的表达与整数有很大的不同。
默认情况下,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类型。
酷客网相关文章:
评论前必须登录!
注册