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

整数的默认类型,取决于系统是 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. libcurl 错误码总结

    下载出现这种错误(Requested range was not delivered by the server  ),说明是重复下载,删掉本地的再下载就不会出现了

  2. ARM寄存器总结:

    ARM有16个32位的寄存器(r0到r15). r15充当程序寄存器PC,r14(link register)存储子程序的返回地址,r13存储的是堆栈地址. ARM有一个当前程序状态寄存器:CPSR. ...

  3. js效果之回到顶部

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. yum源笔记

    1. epel源,使用yum安装htop http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm 2 ...

  5. 并查集实现Tarjan算法

    本文是对http://noalgo.info/476.html的一点理解,特别是对其中 int father[mx]: //节点的父亲 int ancestor[mx]; //已访问节点集合的祖先 这 ...

  6. MySQL 根据身份证查找年龄段

    SELECT       idcard,YEAR (NOW()) - substring(idcard, 7, 4) as nFROM es_members where idcard >0 HA ...

  7. spring注解实现业务层事务管理,当业务层自调用时,事务失效问题解决

    前些日子一朋友在需要在目标对象中进行自我调用,且需要实施相应的事务定义,且网上的一种通过BeanPostProcessor的解决方案是存在问题的.因此专门写此篇帖子分析why. 1.预备知识 aop概 ...

  8. ballerina 学习十 streams

    ballerina 的streams 使用的是siddhi complex event processing 引擎处理,可以包含的语法有 projection filtering windows jo ...

  9. [LeetCode系列]组合和枚举问题

    给定一列数(未排序)和一个目标值, 找出所有可能的组合和等于目标值的组合, 数组中的数可以重复使用. 算法思路: 使用递归. 对数组排序, 从小到大; 令i = 起始下标(初始为0), 对于每一个数, ...

  10. Jetty小计,比之tomcat调试还是不方便

    不需要额外的工程支持,不需要硬盘中有tomcat之类的额外文件 Jetty的Debug:右键Debug as... Maven Builder Jetty相关的配置文件如下: <profiles ...