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

整数的默认类型,取决于系统是 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 类型,除法、求余、位运算则不提升类型

最新文章

  1. Sql Server系列:聚合函数
  2. 从mac终端创建cocos2d-x项目在xcode和eclipse正常运行环境配置
  3. word20161204
  4. eclipse项目迁移到android studio(图文最新版)
  5. AC_Dream 1211 Reactor Cooling
  6. tableview在第一次显示时会自动relodata
  7. hdu 5311 Hidden String
  8. 转载RabbitMQ入门(4)--路由
  9. 单例模式Java“完美”实现
  10. Appium的前世今生
  11. Spring 3.x企业实用开发实战(1)
  12. 多图片/文件上传 - SwfUpload/PlUpload
  13. Android Content Provider的启动过程源码分析
  14. Masonry使用详解
  15. 7.Redis常用命令:ZSet
  16. OpenStack_I版 6.Neutron部署
  17. Python爬虫之三
  18. miniui表格load数据成功后,回调函数,其中setData要用如下方法
  19. 创建一个Scalar-valued Function函数来实现LastIndexOf
  20. AEAI Portal 权限体系说明

热门文章

  1. MPAndroidChart Wiki(译文)~Part 4
  2. pdf 数据流解析
  3. Python环境准备(安装python解释器)
  4. Android Kill Process
  5. 用with来打开文本文件
  6. phpcms后台主菜单不显示
  7. BZOJ5194: [Usaco2018 Feb]Snow Boots(排序&set)(可线段树优化)
  8. {Reship}{Socket}C#简单应用
  9. 【spring源码学习】spring的aop目标对象中进行自我调用,且需要实施相应的事务定义的解决方案
  10. 【spring源码学习】spring配置的事务方式是REQUIRED,但业务层抛出TransactionRequiredException异常问题