Julia - 浮点型
浮点数类型:
Float64 类型,双精度,64 位
Float32 类型,单精度,32 位
Float16 类型,半精度,16 位
julia> 5.0
5.0 julia> 5.
5.0 julia> 0.3
0.3 julia> .3
0.3 julia> -1.2
-1.2 julia> -2.
-2.0 julia> 1e33 # 科学记数法
1.0e33 julia> 2e-7 # 科学记数法
2.0e-7
这些结果都是 Float64 的值
十六进制浮点数的类型只能是 Float64
julia> 0x7p1
14.0 julia> typeof(ans)
Float64 julia> 0x.5p-2
0.078125 julia> typeof(ans)
Float64
使用 f 来进行 Float32 值的输入
julia> 1f33
1.0f33 julia> typeof(ans)
Float32 julia> 2f-7
2.0f-7 julia> typeof(ans)
Float32
浮点数类型转换为 Float32
julia> Float32(0.2)
0.2f0 julia> typeof(ans)
Float32 julia> Float32(-1.2)
-1.2f0 julia> typeof(ans)
Float32 julia> Float32(1e33)
1.0f33 julia> typeof(ans)
Float32
有的版本的半精度浮点数 Float16 只用来存储,计算时会被转换为 Float32
julia> 2 * Float16(4.)
8.0f0 julia> typeof(ans)
Float32
新版本 Float16 计算时也是 Float16
julia> 2 * Float16(4.)
Float16(8.0) julia> typeof(ans)
Float16
精度
eps 函数可以用来计算浮点相对精度,即计算 1.0 到下一个可表示的浮点数之间的距离
julia> eps(Float32)
1.1920929f-7 julia> eps(Float64)
2.220446049250313e-16 julia> eps() # 相当于 eps(Float64)
2.220446049250313e-16
eps 函数的参数是浮点数,则计算这个值和下一个可表示的浮点数的绝对差
eps(x) 的结果与 x 同类型,且满足 x + eps(x) 是下一个比 x 稍大的、可表示的浮点数
julia> eps(1.2)
2.220446049250313e-16 julia> eps(2.)
4.440892098500626e-16 julia> eps(1e33)
1.4411518807585587e17 julia> eps(0.0)
5.0e-324
相邻的两个浮点数之间的距离并不是固定的,数值越小,间距越小;数值越大,间距越大
浮点数在 0 附近最稠密,随着数值越来越大,数值越来越稀疏,数值间的距离呈指数增长
如果 x 为 64 位浮点数,则 eps(x) 与 eps(Float64) 相同
julia> eps(Float64)
2.220446049250313e-16 julia> eps(1.3)
2.220446049250313e-16
nextfloat 函数和 prevfloat 函数用来获取下一个或上一个浮点数
julia> x = 1.01
1.01 julia> nextfloat(x)
1.0100000000000002 julia> prevfloat(x)
1.0099999999999998
特殊的浮点数
Inf16(Float16),Inf32(Float32),Inf(Float64) 为正无穷,比所有的有限的浮点数都大
-Inf16(Float16),-Inf32(Float32),-Inf(Float64) 为负无穷,比所有的有限的浮点数都小
NaN16(Float16),NaN32(Float32),NaN(Float64) 为不存在,不能和任意浮点数比较大小(包括本身)
julia> Inf + Inf
Inf julia> Inf - Inf
NaN julia> Inf * Inf
Inf julia> Inf / Inf
NaN julia> 0 / 0
NaN julia> 0 * Inf
NaN julia> 1 + Inf
Inf julia> 1 - Inf
-Inf julia> 1 / Inf
0.0 julia> 1 / 0
Inf julia> -1 / 0
-Inf
浮点型的 typemin 和 typemax 函数
julia> typemin(Float16)
-Inf16 julia> typemax(Float16)
Inf16 julia> typemin(Float32)
-Inf32 julia> typemax(Float32)
Inf32 julia> typemin(Float64)
-Inf julia> typemax(Float64)
Inf
Julia - 浮点型的更多相关文章
- Julia - 变量
变量的赋值 julia> a = 1 # 把 10 赋给变量 a 1 julia> a + 1 # 变量 a 的值加 1 2 julia> a = 4 # 重新赋值给变量 a 4 j ...
- 数量经济学推荐的Julia教程
http://quant-econ.net/jl/learning_julia.html Julia最为号称和c媲美的运行速度,想python一下简单的语法,虽然发展还不完善,但任然值得去关注. Ju ...
- IEEE754、VAX、IBM浮点型介绍和.NET中互相转换
[题外话] 最近在做C3D文件的解析,好奇怪的是文件中竟然存储了CPU的类型,原本不以为然,结果后来读取一个文件发现浮点数全部读取错误.查了下发现虽然在上世纪80年代就提出了IEEE754要统一浮点数 ...
- GOLANG 基本数据类型 浮点型
浮点型 主要为了表示小数 也可细分float32和float64两种 float64提供比float32更高的精度 取值范围 类型 最大值 最小非负数 float32 3.40282346638528 ...
- js转换数据类型为浮点型,并取两位小数点
转换数据类型 parseFloat();//转换为浮点型 parseInt();//转换为整形 取后面两位小数 bianliang.toFixed(2);//取后面两位小数,2代表取多少位
- python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串
磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 对于Python ...
- julia的优化?
julia> function fib1(n) if n==1 return n else return n+fib1(n-1) end end fib1 (generic function w ...
- [问题解决]《GPU高性能编程CUDA实战》中第4章Julia实例“显示器驱动已停止响应,并且已恢复”问题的解决方法
以下问题的出现及解决都基于"WIN7+CUDA7.5". 问题描述:当我编译运行<GPU高性能编程CUDA实战>中第4章所给Julia实例代码时,出现了显示器闪动的现象 ...
- 玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
前文 的最后给出了玉伯的一道课后题,今天我们来讲讲这题的思路. 题目是这样的: Number.MAX_VALUE + 1 == Number.MAX_VALUE; Number.MAX_VALUE + ...
随机推荐
- React-Native基础_4.View组件
View组件 对应ios 的UIView android 中的view 使用要先导入View import { View } from 'react-native'; 使用就是View标签,可以添加S ...
- 神奇的 ViewDragHelper,让你轻松定制拥有拖拽能力的 ViewGroup
为了吸引大家的注意力,先给大家看一张动图: 相信这种效果大家都见过吧?我第一次见到这样的效果时,心里也痒痒的,急于想实现这种功能,后来因为拖延症的问题,就一直没有去弄这件事.现在这段时间,工作比较轻闲 ...
- [转载][QT][SQL]sql学习记录2_sqlite数据类型
转载自:sqlite学习网站: http://www.runoob.com/sqlite/sqlite-tutorial.html SQLite 语法 SQLite 是遵循一套独特的称为语法的规则和 ...
- 启动和连接MySQL服务
1.服务端启动 1.查看MySQL状态 sudo /etc/init.d/mysql status sudo /etc/init.d/mysql start | stop | restart sudo ...
- Android:Activity & Intent
参考:<第一行代码:Android> 郭霖(著) 2.2 Activity的基本用法 隐藏标题栏 在AndroidManifest.xml中配置,作为全局配置,在所有Activity范 ...
- HDU - 6172:Array Challenge (BM线性递推)
题意:给出,三个函数,h,b,a,然后T次询问,每次给出n,求sqrt(an); 思路:不会推,但是感觉a应该是线性的,这个时候我们就可以用BM线性递推,自己求出前几项,然后放到模板里,就可以求了. ...
- LOJ2609. NOIP2013 火柴排队 【树状数组】
LOJ2609. NOIP2013 火柴排队 LINK 题目大意: 给你两个数列,定义权值∑i=1(ai−bi)^2 问最少的操作次数,最小化权值 首先需要发现几个性质 最小权值满足任意i,j不存在a ...
- DVD项目
package sy.com.cn;import java.util.*; public class DvdWorker { public static void main(String[]args) ...
- Jacoco在eclipse上的集成使用
随着敏捷开发的流行,编写单元测试已经成为业界共识.但如何来衡量单元测试的质量呢?有些管理者片面追求单元测试的数量,导致底下的开发人员投机取巧,编写出大量的重复测试,数量上去了,质量却依然原地踏步.相比 ...
- HDFS(二)
HDFS的I/O主要是三个方面: 一致性 HDFS在一致性上面主要是通过校验和(checksum)来实现:从client发起写入的时候会校验一下文件内容,但是发生在pipeline的最后一个节点的时候 ...