Julia 之初體驗(六)有理數

2021-10-06 10:30:22 字數 2170 閱讀 7361

有理數

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)

2julia> denominator(2//3)

3julia> 2//1

2//1

julia> typeof(ans)

rational

julia> 2//1==2

true

julia> 2==2//1

true

julia> typeof(2)

int64

julia> 1/2

0.5julia> 1/2==1//2

true

julia> typeof(0.5)

float64

julia> typeof(1//2)

rational

julia> typeof(1/2)

float64

1/2  1//2 0.5 julia認為是相等的。雖然型別為有理數,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

構造無限有理值是可以接受的,但是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

有理數可以運算。

Julia之初體驗(十一)函式2

具有特殊名稱的運算子 一些特殊的表示式對應於具有非顯而易見名稱的函式的呼叫。expression calls a b c hcat a b c vcat a b c d hvcat a adjoint a i getindex a i xsetindex a.ngetproperty a.n xse...

Julia 之初體驗(七)字串

單個字元型別是char。要用單引號,用了雙引號就成了string。julia x x ascii unicode u 0078 category ll letter,lowercase julia typeof ans char julia p p julia typeof ans stringju...

bing之初體驗

哈哈,期待已久的微軟搜尋引擎bing 必應 的中文版今天終於推出了。剛開始使用google搜尋其主頁時怎麼也搜尋不到,還以為微軟食言。後來轉念一想,bing很可能是google未來的最大競爭對手,在當前這個還不為人所熟知的階段,很有可能給對方穿穿小鞋的。於是用在ie自帶的搜尋工具條上鍵入bing之後...