美文网首页
每天学一点Swift——Swift的基本数据类型(二)

每天学一点Swift——Swift的基本数据类型(二)

作者: 冯可乐同学 | 来源:发表于2017-05-09 07:04 被阅读72次

    一.整型

    1.和C语言,java等有所不同,Swift中的整型没有short,Long,只有Int类型。

    2. Int8:表示在内存里通常占8位,数值范围是:-128~127

    Int16:表示在内存里通常占16位,数值是:-32768~32767

    Int32:表示在内存里通常占32位,数值是:-2147483648~2147483647

    Int16:表示在内存里通常占16位,数值是:-2的63次方~2的63-1

    Int:这种类型并未专门指定整型的长度,Int型所占有的内存空间与当前平台的原生字节长度相同----对于32位的平台,Int型与Int32的长度相同,

    对于64位的平台,Int型与Int64型的长度相同。一般来说,开发时使用Int型就足够了,这样可以提高代码的一致性和可复用性。

    3. Swift中的无符号整数的表示方法为在上面5种类型的前面加上大写的字母U,即UInt8,UInt16,Uint32,Uint64,Uint。----但是,在一般开发时要尽量避免使用无符号数。

    4.当对一个整型变量赋予超过的它的表示范围的数值时,编译器会报错。

    5.如果声明一个变量时没有指定具体的类型,只是简单地赋值为整型,则Swift会自动判断该变量的类型为Int型。

    6.同其他的编程语言形同,整数有4种表示方式:

    十进制:普通的整数

    二进制:以0b开头的整数

    八进制:以0o开头的整数

    十六进制:以0x开头的整数

    **7,Swift中特有的一点:为了提高数值的可读性(包括浮点数),Swift允许在数值中添加下划线作为分隔符,也允许在数值的左面添加额外的不限个数的0。但是这些下划线或0并不会影响数值本身的值。举个栗子:

    lei menoy = 1_000_000//一眼就能看出是一百万。

    var price = 0045;

    二.浮点型

    1.浮点型比整型表示的范围大,可以存储比Int64更大或更小的数。

    2. Float:表示32位的浮点数,

    Double:表示64位的浮点数。

    3.浮点数的三种表示方式:

    十进制:普通的浮点数。

    科学计数法:同其他的编程语言相同,左边的数字小于10,后跟eN,表示10的N次方。

    十六进制:这种形式的浮点数必须以0x开头,且需要使用p代表指数部分,其中p表乘以2的p次方。举个栗子:0x5.ap2即0x5.a2x2的2次方。

    具体算法:0x5.ap2 = 0x5.a2x2^2 = 0x5.a2 x 4 = 0x16.88(因为a是10,ax4=40,以16为单位往前进1,所以是进2余8。又5x4=20,加上小数点后的进2得22,22以16为单位往前进1余6,得到0x16.88) = 22.53125。

    4.同Int类型类似,如果声明了一个变量或常量时没有指定具体的类型,只是简单地指定了初始值为浮点数,Swift会自动判断该变量的类型为Double。

    5. Swift还提供了3个特殊的浮点型数值:正无穷大,负无穷大,非数。

    6.使用一个正数除以0.0将得到正无穷大数值,使用一个负数除以0.0将得到负无穷大数值,0.0除以0.0或对一个负数开方将得到一个非数。----必须说明的是,只有浮点数除以0.0才会得到无穷大数值,如果使用整型除以0将会引起编译错误。

    7.所有的正无穷大数值都相等,所有的负无穷大数值都相等;而非数不与任何数相等,甚至和非数自己都不相等。

    三.数值型之间的类型转换

    1.整型之间的转换:Swift要求不同整型的变量或数值之间必须进行显示转换----小范围到大范围时要显示转换,大范围到小范围时也要显示转换,此时还要注意转换到小范围后超出取值范围而导致的运行时错误:Illegal instruction。

    2. Swift的Float,Double之间需要进行显示转换,浮点型和整型之间也需要进行显示转换。

    3. Swift语言中各种数值型的表示范围由大到小为:Double --> Float -->Int64 --> Int32 --> Int16 --> Int8.

    四.布尔型

    1.在Swift中,Bool类型的数值只能是true或false,不能用0或者非0来表示,其他数据类型的值也不能转换成Boo了类型。

    2.和其他编程语言相同,Bool类型主要用来控制条件语句,循环语句,还有三目运算符中。

    相关文章

      网友评论

          本文标题:每天学一点Swift——Swift的基本数据类型(二)

          本文链接:https://www.haomeiwen.com/subject/tccbtxtx.html