Julia 数据类型

简介: Julia中的数据类型包括整数和浮点数,以及字面量。类型转换通过T(x)、convert(T,x)或x % T实现,其中错误转换会抛出InexactError。示例展示了Int8类型的转换,如成功转换127,但128会引发错误。舍入函数如round(Int8, x)简化了转换,但同样可能因不精确而报错。

Julia 数据类型

在编程语言中,都有基本的数学运算和科学计算,它们常用的数据类型为整数和浮点数。
另外还有一个"字面量"的术语,字面量(literal)用于表达源代码中一个固定值的表示法(notation),整数、浮点数以及字符串等等都是字面量。

类型转换

类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 float 类型的值到一个简单的整型中,您需要把 float 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示:

Julia 支持三种数值转换,它们在处理不精确转换上有所不同。
第一种:

T(x)

convert(T,x)
以上都会把 x 转换为 T 类型。

如果 T 是浮点类型,转换的结果就是最近的可表示值, 可能会是正负无穷大。
如果 T 为整数类型,当 x 不能由 T 类型表示时,会抛出 InexactError。

第二种:

x % T 也可以将整数 x 转换为整型 T,与 x 模 2^n 的结果一致,其中 n 是 T 的位数。

第三种:

舍入函数接收一个 T 类型的可选参数。比如,round(Int,x) 是 Int(round(x)) 的简写版。

实例
julia> Int8(127)
127

julia> Int8(128)
ERROR: InexactError: trunc(Int8, 128)
Stacktrace:
[...]

julia> Int8(127.0)
127

julia> Int8(3.14)
ERROR: InexactError: Int8(3.14)
Stacktrace:
[...]

julia> Int8(128.0)
ERROR: InexactError: Int8(128.0)
Stacktrace:
[...]

julia> 127 % Int8
127

julia> 128 % Int8
-128

julia> round(Int8,127.4)
127

julia> round(Int8,127.6)
ERROR: InexactError: trunc(Int8, 128.0)
Stacktrace:
[...]

相关文章
|
算法 编译器 程序员
BIT-3-函数(6000字详解析)
BIT-3-函数(6000字详解析)
52 0
|
6月前
|
机器学习/深度学习 分布式计算 C语言
Julia
Julia
61 0
|
2月前
|
分布式计算 并行计算 Unix
Julia 教程
Julia 是一个开源的编程语言,采用 MIT 许可证,每个人都可以免费使用。
40 8
|
3月前
|
传感器 开发框架 JSON
聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例
聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例
160 0
|
6月前
|
存储 索引
Julia 数组
Julia的数组是可变的、类型可异的顺序集合,支持一维和多维。索引使用整数,大小不固定。通过方括号创建,元素间用逗号分隔。例如,`[1,2,3]`创建一个整数向量,而`[1, "baidu", 2.5, pi]`创建一个包含不同类型的数组。可以指定类型,如`Int64[1,2,3]`创建整数数组,`String["Taobao","baidu","GOOGLE"]`创建字符串数组。Julia提供多种函数支持数组操作,如添加和合并元素。
Julia 数据类型
Julia支持基本数学数据类型如整数和浮点数,以及字面量表示法。浮点数舍入遵循RoundNearest策略,即四舍五入至最接近的可表示值。示例展示了`BigFloat`如何根据该规则舍入:1.51、1.55和1.56均舍入为1.5。
Julia 元组
Julia 中的元组是不可变的有序元素集合,与数组用法相似但用小括号表示。创建元组如 `(5, 10, 15, 20, 25, 30)`,可以使用数组函数操作,如 `tupl[3:end]` 获取子元组。尝试修改元组元素会导致错误,如 `tupl2[2]=0` 会抛出 `MethodError`。
|
6月前
|
索引
Julia 数组基本函数
摘要: 了解 Julia 中的数组基本函数:eltype() 获取元素类型,length() 返回元素数量,ndims() 给出维数,size() 和 size(A,n) 用于获取维度大小,axes() 和 axes(A,n) 提供索引范围,eachindex() 用于遍历,stride() 和 strides() 描述元素间隔。
Julia 基本语法
Julia 的注释方式包括单行和多行。单行注释以 `#` 开始,如 `# 这是一行注释`。多行注释使用 `#=` 开始并以 `=#` 结束,示例:`#= 1、这是一行注释\n2、这是另外一行注释 =#`。`println("Hello World!")` 是打印语句。
|
6月前
|
存储
TS 自定义结构Long与number类型相互转换
TS 自定义结构Long与number类型相互转换
258 0