所有的基础数据类型通过灵活用户可扩展的类型提升系统 ,不需显式类型转换,就可以互相运算

整数的默认类型,取决于系统是 32 位还是 64 位

julia> typeof(1)  # 32 位系统
Int32 julia> typeof(1) # 64 位系统
Int64

Julia 内部变量 WORD_SIZE 查看系统是 32 位还是 64 位

julia> WORD_SIZE  # 32 位系统
32 julia> WORD_SIZE # 64 位系统
64

Julia 定义了 Int 和 UInt 类型,分别是系统原生的有符号和无符号整数类型的别名

julia> Int  # 有符号整数类型
Int64 julia> UInt # 无符号整数类型
UInt64

对于不能用 32 位而只能用 64 位来表示的大整数文本,不管系统类型是什么,始终被认为是 64 位整数

julia> typeof(3000000000)  # 不管是 32 位还是 64 位
Int64

数值类型的最小值和最大值,可以通过 typemin 和 typemax 函数来查询

julia> typemin(Int64)
-9223372036854775808 julia> typemax(Int64)
9223372036854775807 julia> typemin(Int32)
-2147483648 julia> typemax(Int32)
2147483647

typemin 和 typemax 的返回值,与所给的参数类型是同一类的

二进制

二进制使用 0b 前缀

julia> 0b10010
0x12 julia> typeof(ans)
UInt8

二进制被转换为 0x 开头的十六进制

八进制

八进制使用 0o 前缀

julia> 0o567
0x0177 julia> typeof(ans)
UInt16

八进制被转换为 0o 开头的十六进制

十六进制

无符号整数十六进制使用 0x 前缀

无符号数的位数大小,由十六进制数的位数决定

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> x = typemax(Int64)
9223372036854775807 julia> x + 1
-9223372036854775808 julia> x + 1 == typemin(Int64)
true

为了减小溢出所带来的影响,整数加减法、乘法、指数运算都会把原先范围较小的整数类型提升到 Int 或 UInt 类型,除法、求余、位运算则不提升类型

Julia - 整数型的更多相关文章

  1. 数量经济学推荐的Julia教程

    http://quant-econ.net/jl/learning_julia.html Julia最为号称和c媲美的运行速度,想python一下简单的语法,虽然发展还不完善,但任然值得去关注. Ju ...

  2. julia的优化?

    julia> function fib1(n) if n==1 return n else return n+fib1(n-1) end end fib1 (generic function w ...

  3. [问题解决]《GPU高性能编程CUDA实战》中第4章Julia实例“显示器驱动已停止响应,并且已恢复”问题的解决方法

    以下问题的出现及解决都基于"WIN7+CUDA7.5". 问题描述:当我编译运行<GPU高性能编程CUDA实战>中第4章所给Julia实例代码时,出现了显示器闪动的现象 ...

  4. windows 版的julia repl 启动时间已经大大优化!

    julia 是一门语法类似python 偏向主要用于科学计算的语言,julia吸收了很多其它语言的优点,内置了大量函数,使用起来很方便. 之前windows下的 julia repl(交互解释器)启动 ...

  5. Mandelbrot和Julia

    概述 mandelbrot julia Mandelbrot 对全体复数z,满足xn+1 =  xn2 + z从x0 = 0起,|x|随n值增加不趋于无穷大,则z属于Mandelbrot集 代码 #i ...

  6. CPU和GPU实现julia

    CPU和GPU实现julia           主要目的是通过对比,学习研究如何编写CUDA程序.julia的算法还是有一定难度的,但不是重点.由于GPU实现了也是做图像识别程序,所以缺省的就是和O ...

  7. julia下载QQ.jl

    julia下载QQ.jl #=""" julia下载QQ.jl 从http://im.qq.com/pcqq/页面中提取出QQ的下载地址,并下载. 2016年4月1日 1 ...

  8. julia解无忧公主的数学时间097.jl

    julia解无忧公主的数学时间097.jl #=""" julia解无忧公主的数学时间097.jl http://mp.weixin.qq.com/s?__biz=MzI ...

  9. julia文件合并排序.jl

    julia文件合并排序.jl """ julia文件合并排序.jl http://bbs.bathome.net/thread-39841-1-1.html 2016年3 ...

随机推荐

  1. ng开启缓存 造成的问题:

    开启缓存 造成的问题:

  2. go语言学习 strings常用函数

    strings包中的函数用法 参考链接http://studygolang.com/articles/88 1.strings.replace() 函数原型 func Replace(str1, ol ...

  3. swift 函数参数——实参与形参

    实参 在传入函数之前已有明确定义. 具体定义为 func funcName( actualParameter: Type ) {} 形参 参数只在此函数内有效并可使用,函数外不需要有明确定义. 具体定 ...

  4. Sprint Boot 学习Q&A

    [ERROR] Failed to execute goal pl.project13.maven:git-commit-id-plugin:2.1.11:revision (default) on ...

  5. HDU - 4336:Card Collector(min-max容斥求期望)

    In your childhood, do you crazy for collecting the beautiful cards in the snacks? They said that, fo ...

  6. 如何将常规的web 应用程序转化为云上多租户 SaaS 解决方案

    如何将web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/i ...

  7. iOS应用截屏

    iPhone自从推出后就自带了截屏功能,简单而易用,所以应用就没什么截屏的需求了,不过有些时候我们还是会遇到这个需求.比如,我们开发了一个播放器,用openGL进行video render,此时直接截 ...

  8. Windows10安装MySQL8.0

    1.到MySQL官网下载安装包:https://dev.mysql.com/downloads/mysql/:选择8.0版本: 2.将下载好的安装包(mysql-8.0.12-winx64 .zip) ...

  9. asp.net如何判断服务器上的目录或文件是否存在

    asp.net判断服务器上的目录或文件是否存在!(实例) // ======================================================= [判断文件是否存在] u ...

  10. IO流-文件夹的拷贝

    文件夹的拷贝操作 要求: 完成文件夹的拷贝,包括子目录的拷贝和所有文件的拷贝 分析: 首先,得在目标目录下创建一个与源文件夹名称相同的文件夹 遍历源文件夹中的所有文件对象,判断子文件是目录还是文件 如 ...