Julia - 整数型
2024-10-16 09:44:14
所有的基础数据类型通过灵活用户可扩展的类型提升系统 ,不需显式类型转换,就可以互相运算
整数的默认类型,取决于系统是 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 类型,除法、求余、位运算则不提升类型
最新文章
- Sql Server系列:聚合函数
- 从mac终端创建cocos2d-x项目在xcode和eclipse正常运行环境配置
- word20161204
- eclipse项目迁移到android studio(图文最新版)
- AC_Dream 1211 Reactor Cooling
- tableview在第一次显示时会自动relodata
- hdu 5311 Hidden String
- 转载RabbitMQ入门(4)--路由
- 单例模式Java“完美”实现
- Appium的前世今生
- Spring 3.x企业实用开发实战(1)
- 多图片/文件上传 - SwfUpload/PlUpload
- Android Content Provider的启动过程源码分析
- Masonry使用详解
- 7.Redis常用命令:ZSet
- OpenStack_I版 6.Neutron部署
- Python爬虫之三
- miniui表格load数据成功后,回调函数,其中setData要用如下方法
- 创建一个Scalar-valued Function函数来实现LastIndexOf
- AEAI Portal 权限体系说明
热门文章
- MPAndroidChart Wiki(译文)~Part 4
- pdf 数据流解析
- Python环境准备(安装python解释器)
- Android Kill Process
- 用with来打开文本文件
- phpcms后台主菜单不显示
- BZOJ5194: [Usaco2018 Feb]Snow Boots(排序&;set)(可线段树优化)
- {Reship}{Socket}C#简单应用
- 【spring源码学习】spring的aop目标对象中进行自我调用,且需要实施相应的事务定义的解决方案
- 【spring源码学习】spring配置的事务方式是REQUIRED,但业务层抛出TransactionRequiredException异常问题