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

整数的默认类型,取决于系统是 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. Recorder︱深度学习小数据集表现、优化(Active Learning)、标注集网络获取

    一.深度学习在小数据集的表现 深度学习在小数据集情况下获得好效果,可以从两个角度去解决: 1.降低偏差,图像平移等操作 2.降低方差,dropout.随机梯度下降 先来看看深度学习在小数据集上表现的具 ...

  2. Emgu cv 学习笔记

    http://www.cnblogs.com/CoverCat/p/5003363.html emgu中imagebox与picturebox imagebox 是emgu   设置好厚,新出现的控件 ...

  3. tomcat是否有必要配置环境变量

    之前发表了一篇关于如何安装和配置Tomcat的文章,而最近在开发项目的时候总是报错.后来被公司的大神问了一句:是谁告诉你Tomcat是需要配置环境变量的? 作为新手的我瞬间整个人都不好了!于是偷偷百度 ...

  4. iOS日期加一个月的方法

    NSCalendar *calender2 = [[NSCalendar alloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian] ...

  5. Git 中文教程

    以下内容转载自:http://www.open-open.com/lib/view/open1328928294702.html Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点 在于 ...

  6. Sublime Text 2 设置文件详解(转)

    Sublime Text 2是那种让人会一眼就爱上的编辑器,不仅GUI让人眼前一亮,功能更是没的说,拓展性目前来说也完全够用了,网上介绍软件的文章和推荐插件的文章也不少,而且很不错,大家可以去找找自己 ...

  7. usb udev

    [root@localhost ~] # udevadm monitor monitor will print the received events for: UDEV - the event wh ...

  8. .ncx文件剖析

    ncx文件是epub电子书的又一个核心文件,用于制作电子书的目录,其文件的命名通常为toc.ncx. ncx文件是一个XML文件,该标准由DAISY Consortium发布(参见http://www ...

  9. [MEF]第05篇 MEF的目录(Catalog)筛选

    一.演示概述本示例演示如何使用MEF提供的目录(Catalog)的扩展机制实现可过滤导出部件的自定义目录类.主要是通过继承ComposablePartCatalog基类,并实现接口INotifyCom ...

  10. ballerina 学习十 streams

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