Julia 之初体验(六)有理数

有理数

Julia有一个有理数类型,用来表示整数之比。 使用//运算符构造有理数:

julia> 2//3
2//3
julia> 6//9
2//3

julia> -4//8
-1//2

julia> 5//-15
-1//3

julia> -4//-12
1//3

Julia自动化简,自动约分。分母变成不是负数形式。Julia有两函数可以用来取分子、分母。

julia> numerator(2//3)
2

julia> denominator(2//3)
3

julia> 2//1
2//1

julia> typeof(ans)
Rational{Int64}

julia> 2//1==2
true

julia> 2==2//1
true

julia> typeof(2)
Int64

julia> 1/2
0.5

julia> 1/2==1//2
true

julia> typeof(0.5)
Float64

julia> typeof(1//2)
Rational{Int64}

julia> typeof(1/2)
Float64

1/2  1//2 0.5 Julia认为是相等的。虽然类型为有理数{Float64},Float64。

julia> 2//3 == 6//9
true

julia> 2//3 == 9//27
false

julia> 3//7 < 1//2
true

julia> 3//4 > 2//3
true

julia> 2//4 + 1//6
2//3

julia> 5//12 - 1//4
1//6

julia> 5//8 * 3//12
5//32

julia> 6//5 / 10//7
21//25

Julia可以把有理数分数形式转化成小数。

julia> float(3//4)
0.75
julia> a = 1; b = 2;

julia> isequal(float(a//b), a/b)
true
julia> 5//0
1//0

julia> -3//0
-1//0

julia> typeof(ans)
Rational{Int64}

构造无限有理值是可以接受的,但是0/0就报错。

julia> 0//0
ERROR: ArgumentError: invalid rational: zero(Int64)//zero(Int64)
Stacktrace:
[...]
julia> 3//5 + 1
8//5

julia> 3//5 - 0.5
0.09999999999999998

julia> 2//7 * (1 + 2im)
2//7 + 4//7*im

julia> 2//7 * (1.5 + 2im)
0.42857142857142855 + 0.5714285714285714im

julia> 3//2 / (1 + 2im)
3//10 - 3//5*im

julia> 1//2 + 2im
1//2 + 2//1*im

julia> 1 + 2//3im
1//1 - 2//3*im

julia> 0.5 == 1//2
true

julia> 0.33 == 1//3
false

julia> 0.33 < 1//3
true

julia> 1//3 - 0.33
0.0033333333333332993

 

有理数可以运算。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bowen2006

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值