1. 程式人生 > >Julia簡易教程——julia中的整數和浮點數

Julia簡易教程——julia中的整數和浮點數

文章目錄


整數和浮點值是算術和計算的基礎。例如, 1是一個整數, 1.0而是一個浮點數。
以下是julia 中常見的數字型別:

  • 整數型別
型別 位數 最小的價值 最大的價值
Int8 8 -2 ^ 7 2 ^ 7 - 1
UInt8 8 0 2 ^ 8 - 1
Int16 16 -2 ^ 15 2 ^ 15 - 1
UInt16 16 0 2 ^ 16 - 1
Int32 32 -2 ^ 31 2 ^ 31 - 1
UInt32 32 0 2 ^ 32 - 1
Int64 64 -2 ^ 63 2 ^ 63 - 1
UInt64 64 0 2 ^ 64 - 1
Int128 128 -2 ^ 127 2 ^ 127 - 1
UInt128 128 0 2 ^ 128 - 1
Bool 8 false (0) true (1)
  • 浮點型別
型別 精確 位數
Float16 16
Float32 32
Float64 64

整形

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.0 (2018-08-08)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia > 1
1
julia > 1234
1234

整數文字的預設型別取決於目標系統是32位架構還是64位架構:

# 32位作業系統
julia > typeof(1)
Int32

# 64位作業系統
julia > typeof(1)
Int64

Julia內部變數Sys.WORD_SIZE能夠直接獲取目標系統位數:

# 32位作業系統
julia > Sys.WORD_SIZE
32

# 64位作業系統
julia > Sys.WORD_SIZE
64

Julia還定義了型別Int和型別UInt,如下:

# 32位作業系統
julia > Int
Int32
julia > UInt
UInt32

# 64位作業系統
julia > Int
Int64
julia > UInt
UInt64

julia 支援二進位制和八進位制、16進位制的輸入值

julia > 0x1
0x01

julia > typeof(ans)
UInt8

julia > 0x123
0x0123

julia > typeof(ans)
UInt16

julia > 0x1234567
0x01234567

julia > typeof(ans)
UInt32

julia > 0x123456789abcdef
0x0123456789abcdef

julia > typeof(ans)
UInt64

julia > 0x11112222333344445555666677778888
0x11112222333344445555666677778888

julia > typeof(ans)
UInt128

上方中的ans指的是緊鄰的上一條指令的輸出結果

同樣,既然有最大值以及最小值,即存在溢位的問題,從而會導致環繞行為,如例:

julia > typemax(Int64)
9223372036854775807

julia > typemax(Int64) + 1
-9223372036854775808

julia > typemin(Int64)
-9223372036854775808

浮點數

julia 中浮點數常見的例子

julia > 1.0
1.0

julia > 1.
1.0

julia > 0.5
0.5

julia > .5
0.5

julia > -1.23
-1.23

julia > 1e10
1.0e10

julia > 2.5e-4
0.00025

參考資料

[1]: julia 官方教程