原文:Swift语言指南(三)--语言基础之整数和浮点数

整数

整数指没有小数的整数,如42,-23。整数可以是有符号的(正数,零,负数),也可以是无符号的(正数,零)。

Swift提供了8,16,32,64位形式的有符号和无符号的整数,这些整数遵循与C语言相似的命名规则。如8位无符号整数的类型为UInt8,32位有符号整数的类型为Int32,和Swift语言的其它类型一样,这些整型命名以大写字母开头。

整数的边界

你可以通过min或max属性为每一个整数类型指定一个最小值或最大值:

 let 最小值 = UInt8.min // 最小值 等于 0,类型为 UInt8
let 最大值 = UInt8.max // 最大值 等于 255,类型为 UInt8

这些属性(max和min等)的值与对应的数字宽度(size)一致(如上例中的Unit8),因此可以在表达式与其它同一类型的值一起使用。

Int

大多数情况下,你不需要选择代码中所使用的整数宽度。Swift提供了一个额外的整数类型--Int,它与当前平台的原生字长宽度(native word size)一致。

· 在 位平台,Int 与 Int32 宽度一致。

· 在 位平台,Int 与 Int64 宽度一致。

除非你需要处理特定宽度的整数,在代码中应该坚持使用 Int 表示整数。这样可以保证代码的一致性及互通性。即使是在 32 位平台,Int 也能存储 -2,147,483,648 到 2,147,483,647 之间的任意数值,这对于很多整数区间而言已经够大了。

UInt

Swift也提供了一个无符号的整数类型--UInt,它与当前平台的原生字长宽度(native word size)一致。

· 在 32 位平台,Int 与 Int32 宽度一致。

· 在 64 位平台,Int 与 Int64 宽度一致。

注意:

只有在特别需要宽度与平台原生字长一致的时才需要使用无整数类型 UInt。否则应使用 Int,即使要存储的值一定是非负数。坚持使用 Int 表示整数值有助于保证代码互通性、避免不同数据类型的转换,并且与整数类型推断相匹配,参见类型安全及类型推断(下章将会译到)。

浮点数

浮点数指有小数部分的数字,如3.14159, 0.1, 和 -273.15。

浮点数能表示比整数更宽泛的值域范围,而且,能保存比整数更大或更小的值。Swift提供了两种有符号的浮点数类型:

· Double 表示一个 64 位浮点数。在浮点数值非常大或非常精确时使用它。

· Float 表示一个 32 位浮点数。在浮点数值不需要 64 位精度时使用它。

注意:

Double 有15 个十进制有效数字的精度,而 Float 的精度只有 6 位十进制有效数字。应根据代码所需数值的特点及值域选用合适的浮点数类型。

谢谢,Swifter-QQ群:362232993,同好者进~

Fork:https://github.com/Joejo/Swift-lesson-for-chinese

Swift语言指南(三)--语言基础之整数和浮点数的更多相关文章

  1. Swift语言指南(一)--语言基础之常量和变量

    原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swif ...

  2. Swift语言指南(七)--语言基础之布尔值和类型别名

    原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false ...

  3. Swift语言指南(二)--语言基础之注释和分号

    原文:Swift语言指南(二)--语言基础之注释和分号 注释 通过注释向自己的代码中注入不可执行的文本,作为你自己的笔记或提示.Swift编译器运行时会忽略注释. Swift的注释与C语言极其相似,单 ...

  4. Swift语言指南(八)--语言基础之元组

    原文:Swift语言指南(八)--语言基础之元组 元组 元组(Tuples)将多个值组合为一个复合值.元组内的值可以是任何类型,各个元素不需要为相同类型(各个元素之间类型独立,互不干扰--Joe.Hu ...

  5. App架构师实践指南三之基础组件

    App架构师实践指南三之基础组件 1.基础组件库随着时间的增长,代码量的逐渐积累,新旧项目之间有太多可以服用的代码.下面是整理的公共代码库. 2.关于加密密钥的保护以及网络传输安全是移动应用安全最关键 ...

  6. Swift5 语言指南(三) 快速之旅

    传统表明,新语言中的第一个程序应在屏幕上打印“Hello,world!”字样.在Swift中,这可以在一行中完成: print("Hello, world!") // Prints ...

  7. C语言 第三章 基础编程测试与练习

    1.屏幕上输出:This is a C program 2.输入两个整数,求两个数的和,如下所示:请输入第1个数:5请输入第2个数:3 3加5的和是8 3.完成华氏温度与摄氏温度间的转换,如下所示:请 ...

  8. Swift语言学习(三)基础操作符

    操作符是用于检测.更改或者组合值的特殊符号或短语.例如,加法操作符 (+) 将两个数字加到一起 (如 let i = 1 + 2).更复杂的例子包括逻辑与操作符 && (如 if en ...

  9. Swift语言指南(四)--类型安全和类型推断

    原文:Swift语言指南(四)--类型安全和类型推断 Swift是一门类型安全语言,类型安全语言需要代码里值的类型非常明确.如果你的代码中有部分值需要String类型,你就不能错误地传递Int. 鉴于 ...

随机推荐

  1. POJ 1745 Divisibility (线性dp)

    Divisibility Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 10598   Accepted: 3787 Des ...

  2. Bash多个配置文件通常用于

    Login shells阅读下面的启动文件: 文件 内容 /etc/profile 对全部用户开放的全局配置文件 ~/.bash_profile 某个用户个人的启动文件,能用作个人的全局设置 ~/.b ...

  3. 改写String类别

    主要4默认功能重写: 代码: #include <iostream> using namespace std; class Cstring{ private : char * data; ...

  4. 孙陪你,了解它的权力--Kinect结合的发展Unity3D游戏应用开发

    unity3d正在使用kinect三维模型数据控制(它切成脚本) 博主在做项目时须要利用kinect数据控制三维模型中人物的动作.但不是实时控制,而是利用之前获得的骨骼数据,直接控制.无需再利用脚本打 ...

  5. android 渐变drawable

    渐变Drawable它是使用<gradient>的标记的形状Drawable定义子节点的定义. 每个梯度Drawable求至少要有一个startColor和endColor属性,而且支持一 ...

  6. Path和ClassPath差异

    1.Path角色 Path它用于指定Java路径的命令,当我们想编译Java当需要使用的程序javac.exe并运行.class当文件需要使用java.exe,此时Path设置的路径就发生作用了.由于 ...

  7. [HAOI2005]路由问题,第二短路

    [问题描写叙述]     X城有一个含有N个节点的通信网络,在通信中,我们往往关心信息从一个节点I传输到节点J的最短路径.遗憾的是.因为种种原因,线路中总有一些节点会出故障,因此在传输中要避开故障节点 ...

  8. 它的斗争“和loser对话”短篇故事

    今天,一个朋友发来的图片故事,尽管听说过,但见一.仍感慨颇多. 有时总是说easy,其实做起来的另一个故事. 想实现梦想,看来还是要脚踏实地,一步一步.不断努力,不断前行啊! 版权声明:本文博客原创文 ...

  9. MVC把随机产生的字符串转换为图片

    原文:MVC把随机产生的字符串转换为图片 Insus.NET在这篇中<在ASP.NET MVC应用程序中随机获取一个字符串>http://www.cnblogs.com/insus/p/3 ...

  10. jsRender模板引擎

    jsRender模板引擎 上一篇最后提到了模板,并尝试自己编写一个最简单版本:有些朋友可能用过 jqtmpl,这是一个基于jquery的模板引擎,不过它已经不再更新了,而且据说渲染速度比较慢.这里介绍 ...