浮点类型

简介: Julia 支持 Float16, Float32 和 Float64 浮点类型,以及复数和有理数。浮点字面量可使用 E 表示科学记数法,如 `1.03E+08`。还有十六进制浮点数表示(仅限 Float64),如 `0x1p0`。半精度 Float16 是通过软件模拟的 Float32。下划线 `_` 作为数字分隔符,如 `10_000`。

浮点类型

下表列出来 Julia 支持的浮点类型:

类型 精度 比特数
Float16 半精度 16
Float32 单精度 32
Float64 双精度 64
此外,对复数和有理数的完整支持是在这些原始数据类型之上建立起来的。

浮点数字面量格式表示如下,必要时可使用 E 来表示。

实例
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
注:

在科学计数法中,为了使公式简便,可以用带 E 的格式表示。例如 1.03乘10的8次方,可简写为 "1.03E+08" 的形式,其中 "E" 是 exponent(指数) 的缩写。

也存在十六进制的浮点数字面量,但只适用于 Float64 类型的值。一般使用 p 前缀及以 2 为底的指数来表示:

实例
julia> 0x1p0
1.0

julia> 0x1.8p3
12.0

julia> x = 0x.4p-1
0.125

julia> typeof(x)
Float64
Julia 也支持半精度浮点数(Float16),但它们是使用 Float32 进行软件模拟实现的。

julia> sizeof(Float16(4.))
2

julia> 2*Float16(4.)
Float16(8.0)
下划线 _ 可用作数字分隔符:

实例
julia> 10_000, 0.000_000_005, 0xdead_beef, 0b1011_0010
(10000, 5.0e-9, 0xdeadbeef, 0xb2)

相关文章
浮点类型
Julia 支持 Float16(半精度,16位),Float32(单精度,32位)和 Float64(双精度,64位)浮点类型,还提供复数和有理数支持。浮点数字面量用 `.`, `E` 或 `e` 表示,如 `1.0`, `-1.23`, `1e10` 和 `2.5e-4`. `E` 或 `e` 用于科学记数法,例如 `1.03E+08`。
特殊的浮点值
特殊浮点值包括正负无穷(Inf)和非数字(NaN),在浮点运算中表现出特定行为,如1/Inf=0.0,0/0=NaN。NaN不等于任何值,包括自身,比较操作在NaN上返回假。可以使用typemin和typemax函数获取各浮点类型的最大和最小值。
|
3天前
|
存储
整数类型
整数类型。
12 0
|
3天前
|
存储 编译器 C语言
数据在内存中的存储(浮点数与整数的类型转换)
在c语言操作符那一篇文章中我们讲到整数的二进制表示方法有三种,即原码、反码和补码。 它们都由符号位和数值位组成,数值位中的最高位就是符号位,符号位中0表示”正“,1表示”负“,
|
5月前
|
存储 Go
Go 语言的基础数据类型:整数类型、浮点数类型、布尔类型、字符串类型等
Go 语言的基础数据类型:整数类型、浮点数类型、布尔类型、字符串类型等
42 0
Go 语言的基础数据类型:整数类型、浮点数类型、布尔类型、字符串类型等
|
11月前
|
存储 关系型数据库 MySQL
列的类型定义——浮点类型和定点数类型
前言 数据表中用浮点数类型和定点数类型来表示小数。浮点数类型包括单精度浮点数(FLOAT型)和双精度浮点数(DOUBLE型)。定点数类型就是DECIMAL型。下面从这三种类型的字节数、取值范围等方面进行对比,如下表所示。
|
11月前
|
存储 关系型数据库 MySQL
尽量使用数值替代字符串类型
尽量使用数值替代字符串类型
|
存储 编译器 程序员
4.整数类型(上)
4.整数类型
112 0
|
存储 编译器 程序员
4.整数类型(下)
4.整数类型
59 0
|
存储 编译器 Linux
整型提升+算术转换——“C”
整型提升+算术转换——“C”