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 + ...
随机推荐
- flowable IdmEngine和IdmEngineConfiguration
IdmEngineConfiguration 继承了 AbstractEngineConfiguration. 一.创建EngineConfiguration实例 IdmEngineConfigura ...
- [置顶]
flume高并发优化——(14)解决空行停止收集数据问题,及offsets变小问题
日志平台运行一段时间,发现日志有部分丢失,通过检查日志,发现有两个问题导致数据丢失,一个是遇到空行后,日志停止收集,还有就是kafka监控offsets时变小,通过分析代码,找到如下方法: 空行问 ...
- learn go random
package main // 参考文档: // go 基本类型和运算符 // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/e ...
- 【集成学习】安装lightgbm
1.下载whl lightgbm的whl下载地址 2.输入命令 pip install lightgbm-2.0.3-py2.py3-one-win_am64.whl 3.验证是否成功 import ...
- jQuery radio|checkbox的取值与赋值
文章简单即是美[我说的是技术博客] |--radio |--checkbox 参考: http://blog.csdn.net/gd2008/article/details/6951208 h ...
- BZOJ4975: [Lydsy1708月赛]区间翻转( 博弈&逆序对)
4975: [Lydsy1708月赛]区间翻转 Time Limit: 1 Sec Memory Limit: 256 MBSubmit: 265 Solved: 140[Submit][Stat ...
- BZOJ2090: [Poi2010]Monotonicity 2【线段树优化DP】
BZOJ2090: [Poi2010]Monotonicity 2[线段树优化DP] Description 给出N个正整数a[1..N],再给出K个关系符号(>.<或=)s[1..k]. ...
- 应该抛出什么异常?不应该抛出什么异常?(.NET/C#)
我在 .NET/C# 建议的异常处理原则 中描述了如何 catch 异常以及重新 throw.然而何时应该 throw 异常,以及应该 throw 什么异常呢? 究竟是谁错了? 代码中从上到下从里到外 ...
- turtle海龟作图
个人心得:python这么火是有他的原因的,突然发现他的语言很有趣,库函数也很多. 这次是第一步,简单了解了一下turtle函数 import turtle import time def drawS ...
- 【DUBBO】Dubbo原理解析-服务发布
转载:http://blog.csdn.net/quhongwei_zhanqiu/article/details/41651205 服务发布方在spring的配置文件中配置如下: <bean ...