当前位置:K88软件开发文章中心编程语言非主流编程语言Julia → 文章内容

Julia 数学运算和基本函数

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-15 16:28:04

由 陈 创建,youj 最后一次修改 2016-08-12 数学运算和基本函数 Julia 为它所有的基础数值类型,提供了整套的基础算术和位运算,也提供了一套高效、可移植的标准数学函数。 算术运算符 下面的算术运算符适用于所有的基本数值类型: 表达式 名称 描述 +x 一元加法 x 本身 -x 一元减法 相反数 x + y 二元加法 做加法 x - y 二元减法 做减法 x * y 乘法 做乘法 x / y 除法 做除法 x \ y 反除 等价于 y / x x ^ y 乘方 x 的 y 次幂 x % y 取余 等价于 rem(x, y) 以及 Bool 类型的非运算: 表达式 名称 描述 !x 非 true 和 false 互换 Julia 的类型提升系统使得参数类型混杂的算术运算也很简单自然。详见类型转换和类型提升 。 算术运算的例子:julia> 1 + 2 + 36julia> 1 - 2-1julia> 3*2/120.5 (习惯上,优先级低的运算,前后多补些空格。这不是强制的。) 位运算符 下面的 位运算符 适用于所有整数类型: 表达式 名称 ~x 按位取反 x & y 按位与 x \| y 按位或 x $ y 按位异或 x >>> y 向右 逻辑移位 (高位补 0 ) x >> y 向右 算术移位 (复制原高位) x << y 向左逻辑/算术移位 位运算的例子:julia> ~123-124julia> 123 & 234106julia> 123 | 234251julia> 123 $ 234145julia> ~uint32(123)0xffffff84julia> ~uint8(123)0x84 复合赋值运算符 二元算术和位运算都有对应的复合赋值运算符,即运算的结果将会被赋值给左操作数。在操作符的后面直接加上 = 就组成了复合赋值运算符。例如, x += 3 相当于 x = x + 3 :julia> x = 11julia> x += 34julia> x4 复合赋值运算符有:+= -= *= /= \= %= ^= &= |= $= >>>= >>= <<= 数值比较 所有的基础数值类型都可以使用比较运算符: 运算符 名称 == 等于 != 不等于 < 小于 <= 小于等于 > 大于 >= 大于等于 一些例子:julia> 1 == 1truejulia> 1 == 2falsejulia> 1 != 2truejulia> 1 == 1.0truejulia> 1 < 2truejulia> 1.0 > 3falsejulia> 1 >= 1.0truejulia> -1 <= 1truejulia> -1 <= -1truejulia> -1 <= -2falsejulia> 3 < -0.5false 整数是按位比较的。浮点数是 IEEE 754 标准 比较的: 有限数按照正常方式做比较。 正数的零等于但不大于负数的零。 Inf 等于它本身,并且大于所有数, 除了 NaN。 -Inf 等于它本身,并且小于所有数, 除了 NaN。 NaN 不等于、不大于、不小于任何数,包括它本身。 上面最后一条是关于 NaN 的性质,值得留意:julia> NaN == NaNfalsejulia> NaN != NaNtruejulia> NaN < NaNfalsejulia> NaN > NaNfalse NaN 在矩阵中使用时会带来些麻烦:julia> [1 NaN] == [1 NaN]false Julia 提供了附加函数, 用以测试这些特殊值,它们使用哈希值来比较: 函数 测试 isequal(x, y) x 是否等价于 y isfinite(x) x 是否为有限的数 isinf(x) x 是否为无限的数 isnan(x) x 是否不是数 isequal 函数,认为 NaN 等于它本身:julia> isequal(NaN,NaN)truejulia> isequal([1 NaN], [1 NaN])truejulia> isequal(

[1] [2] [3] [4]  下一页


Julia 数学运算和基本函数