官术网_书友最值得收藏!

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).

主站蜘蛛池模板: 南部县| 长岛县| 五峰| 沧源| 汤原县| 大埔区| 和田市| 手游| 揭东县| 政和县| 开封县| 通州区| 尉犁县| 成安县| 拜城县| 黄陵县| 肥西县| 余干县| 太仆寺旗| 岳阳市| 勐海县| 乌兰察布市| 双桥区| 永吉县| 长武县| 唐山市| 思茅市| 铅山县| 平邑县| 灵璧县| 宁国市| 金沙县| 开阳县| 万荣县| 南靖县| 那坡县| 柳林县| 东台市| 宝清县| 长春市| 南阳市|