- Julia 1.0 Programming Complete Reference Guide
- Ivo Balbaert Adrian Salceanu
- 327字
- 2021-06-24 14:21:41
Integers
Julia offers support for integer numbers ranging from types Int8 to Int128, with 8 to 128 representing the number of bits used, and with unsigned variants with a U prefix, such as UInt8. The default type (which can also be used as Int) is Int32 or Int64, depending on the target machine architecture. The bit width is given by the Sys.WORD_SIZE variable. The number of bits used by the integer affects the maximum and minimum value this integer can have. The minimum and maximum values are given by the typemin() and typemax() functions, respectively; for example, typemax(Int16) returns 32767.
If you try to store a number larger than that allowed by typemax, overflow occurs. For example, note the following:
julia> typemax(Int)
9223372036854775807 # might be different on 32 bit platform
julia> ans + 1
-9223372036854775808
Overflow checking is not automatic, so an explicit check (for example, the result has the wrong sign) is needed when this can occur. Integers can also be written in binary (0b), octal (0o), and hexadecimal (0x) format.
For computations needing arbitrary-precision integers, Julia has a BigInt type. These values can be constructed as BigInt(number) or big(number), and support the same operators as normal integers. Conversions between numeric types are automatic, but not between the primitive types and the big types. The normal operations of addition (+), subtraction (-), and multiplication (*) apply for integers. A division (/) always gives a floating point number. If you only want integer divisor and remainder, use div and rem. The symbol ^ is used to obtain the power of a number.
The logical values, true and false, of type Bool are also integers with 8 bits. 0 amounts to false, and 1 to true. Negation can be done with the ! operator; for example, !true is false. Comparing numbers with == (equal), != or < and > returns a Bool value, and comparisons can be chained after one another (as in 0 < x < 3).
- 少兒人工智能趣味入門:Scratch 3.0動畫與游戲編程
- Visual C++程序設計教程
- 案例式C語言程序設計
- 計算機圖形學編程(使用OpenGL和C++)(第2版)
- OpenStack Cloud Computing Cookbook(Fourth Edition)
- 基于免疫進化的算法及應用研究
- Scratch真好玩:教小孩學編程
- Python高級機器學習
- GitLab Repository Management
- 零基礎學MQL:基于EA的自動化交易編程
- Nginx Essentials
- Getting Started with SQL Server 2012 Cube Development
- WebRTC技術詳解:從0到1構建多人視頻會議系統(tǒng)
- Scala for Machine Learning(Second Edition)
- Python程序設計與算法基礎教程(第2版)(微課版)