Julia 数据类型

简介: Julia中的数据类型包括整数、浮点数和字面量。类型转换通过T(x)、convert(T,x)或x % T实现,其中错误转换会抛出InexactError。示例展示了Int8转换,显示了不同类型转换的行为,如舍入和模运算。例如,Int8(127)成功,而Int8(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:
[...]

相关文章
|
3月前
|
机器学习/深度学习 分布式计算 C语言
Julia
Julia
43 0
|
4天前
|
分布式计算 Linux iOS开发
Julia 教程
Julia是一款采用MIT许可证的开源编程语言,专为高性能科学计算设计。自2012年起支持macOS、Windows、Linux等平台。其核心语言精简,标准库由Julia自身编写,支持高性能数学库,如线性代数与FFT。Julia具备接近静态编译语言的性能,支持并行与分布式计算,可直接调用C函数,具有丰富的元编程特性,并兼容Jupyter Notebook。
Julia 数据类型
**Julia数据类型涵盖整数、浮点数,字面量表示固定值。默认浮点数舍入模式为RoundNearest,确保最接近的可表示值。示例中,BigFloat在保留2位时,1.51、1.55和1.56均舍入至1.5。**
|
2月前
|
存储 索引
Julia 数组
**Julia 数组是动态大小、可变的元素集合,支持一维至多维。索引以整数开始,类型可变或指定。创建一维数组如 `[1,2,3]`,也可创建指定类型数组如 `Int64[1,2,3]` 或 `String["Taobao","baidu","GOOGLE"]`。Julia 提供丰富函数进行数组操作。**
Julia 元组
Julia 中的元组是不可变的有序元素集合,与数组用法相似但用小括号表示。创建元组如 `(5, 10, 15, 20, 25, 30)`,可以使用数组函数操作,如 `tupl[3:end]` 获取子元组。尝试修改元组元素会导致错误,如 `tupl2[2]=0` 会抛出 `MethodError`。
|
3月前
|
索引
Julia 数组基本函数
摘要: 了解 Julia 中的数组基本函数:eltype() 获取元素类型,length() 返回元素数量,ndims() 给出维数,size() 和 size(A,n) 用于获取维度大小,axes() 和 axes(A,n) 提供索引范围,eachindex() 用于遍历,stride() 和 strides() 描述元素间隔。
Julia 基本语法
Julia 的注释方式包括单行和多行。单行注释以 `#` 开始,如 `# 这是一行注释`。多行注释使用 `#=` 开始并以 `=#` 结束,示例:`#= 1、这是一行注释\n2、这是另外一行注释 =#`。`println("Hello World!")` 是打印语句。
|
11月前
|
JavaScript 前端开发 索引
ts - 基础类型
TypeScript包含的最简单的数据单元有:数字,字符串,布尔值,Null 和 Undefined等。TypeScript支持与JavaScript几乎相同的数据类型,此外还提供了实用的枚举类型方便我们使用。本节介绍基础类型的布尔值、数字、字符串、数组、元组、枚举、any 和 void 等,其他几种基础类型详见 [基础类型-高级](/advanced/basic-types.html)。
【TS】基础类型
【TS】基础类型
55 0
【TS】基础类型
|
JavaScript
es6数据类型Symbol以及es6操作数组常用的方法
es6数据类型Symbol以及es6操作数组常用的方法
77 0