Swift 基本数据类型<整型/浮点型>
2014-11-11 09:45
375 查看
一天一点,学习永不止步!
关于swift的基本数据类型,其实在变量和常量定义的时候,基本上也使用过,现在就整型单独扩展说明一些有趣儿的事情,嘻嘻
当然了,如果对定义变量.常量还不是很明白的,可以参照Hello Swift!<Appdelegate的生命周期及变量定义> 这篇
现在就说今天的内容吧:
1.swift整型数据各种进制存储
记住一条就好:swift中的整型号数据存储是按照10进制的方式存储的,不论给值的时候是什么进制,在赋值的时候都会转换为10进制进行赋值
2.整型的有符号和无符号之分以及取值范围
3.整型的其他
4.其他类型
一天一点.希望大家共同进步,thanks
关于swift的基本数据类型,其实在变量和常量定义的时候,基本上也使用过,现在就整型单独扩展说明一些有趣儿的事情,嘻嘻
当然了,如果对定义变量.常量还不是很明白的,可以参照Hello Swift!<Appdelegate的生命周期及变量定义> 这篇
现在就说今天的内容吧:
1.swift整型数据各种进制存储
//管理数据 //在此方法中书写swift的数据类型->进制表现形式 func managerDatas1(){ //之前说了变量定义的几种方式,包括指定类型定义,不指定类型等 //eg: var numOne = 10 var numTwo :Int = 20; //常量定义也是如上所述类型,只不过由var->let //eg: let strOne = "china"; let strTwo = "CHINA"; //现在,就继续说明swift中数据类型 /*1.进制表现方式 格式: 十进制数,无前缀 二进制数,以 0b 为前缀 八进制数,以 0o 为前缀 十六进制数,以 0x 为前缀 注意: 定义的变量或常量 存储值为十进制。 */ //eg: //十进制 var numThree = 10 println("numThree==\(numThree)") //numThree==10 //二进制 var numFour = 0b1010 println("numFour==\(numFour)") //numFour==10 //八进制 var numFive = 0o12 println("numFive==\(numFive)") //numFive==10 //十六进制 var numSix = 0xA println("numSix==\(numSix)") //numSix==10 //综上:为什么都打印的是'10'? //因为在Swift中,变量或常量储存的值必须为十进制 //比如:numFour = 0b1010 是先将0b1010转换为十进制的10,然后再赋值给numFour的.上面的八进制/十六进制都是如此转换的 }
记住一条就好:swift中的整型号数据存储是按照10进制的方式存储的,不论给值的时候是什么进制,在赋值的时候都会转换为10进制进行赋值
2.整型的有符号和无符号之分以及取值范围
//此方法中书写swift的数据类型->整型变形形式 func managerDatas2(){ //2.整型变现形式 /* 说明: 整型: 有符号和无符号类型 有符号类型:Int ,Int8 ,Int32,Int64 无符号类型: UInt ,UInt8 UInt32,UInt64 注意: 如果你的开发环境是32位,那么Int = Int32 如果你的开发环境是64位,那么Int = Int64 如果你使用mac OS X Yosemite 10.10和Xcode 6.0 Beta 那么你的系统是64位的 */ //A.有符号的整型 //eg: var numA : Int = 10 println("numA==>\(numA)") //numA==>10 //8位 var numB : Int8 = 10 println("numB==>\(numB)") //numB==>10 //16位 var numC : Int16 = 10 println("numC==>\(numC)") //numC==>10 //32位 var numD : Int32 = 10 println("numD==>\(numD)") //numD==>10 //64位 var numE : Int64 = 10 println("numE==>\(numE)") //numE==>10 //B.无符号的整型 //eg: var numF : UInt = 10 println("numF==>\(numF)") //numF==>10 //8位 var numG : UInt8 = 10 println("numG==>\(numG)") //numG==>10 //16位 var numH : UInt16 = 10 println("numH==>\(numH)") //numH==>10 //32位 var numI : UInt32 = 10 println("numI==>\(numI)") //numI==>10 //64位 var numJ : UInt64 = 10 println("numJ==>\(numJ)") //numJ==>10 //综上所述:有符号和无符号的整型到底有什么区别? //无符号的定义的变量值必须为正数,有符号的定义的变量值可以为正数也可以为负数(取值范围不同) //eg: var numK : Int = -10 //注意: //var numL : UInt = -10 //error:Integer literal overflows when stored into 'UInt' //然后其他的8/16/32/64位皆如此 //看看Int和UInt的最大和最小值 var numIntMax = Int.max var numIntMin = Int.min var numUIntMax = UInt.max var numUIntMin = UInt.min println("\(numIntMin)<= Int <=\(numIntMax)") //-2147483648<= Int <=2147483647 println("\(numUIntMin)<= UInt <=\(numUIntMax)") //0<= UInt <=4294967295 //当然了,其他的位数也可如此方法获取,在开发中,怎样使用,自行考虑 }其实,这个跟所有语言都类似,有符号的则可以赋值负数,无符号的则只能赋值正数,当然,他们的取值范围是不同的,在实际开发中,可以根据自身所需,取相应的类型
3.整型的其他
func managerDatas3(){ var num1 = 1001100 var num2 = 1_001_100 var num3 = 100_1_1_00 var num4 = 100_1_________1_00 println("num1==\(num1)") //num1==1001100 println("num2==\(num2)") //num2==1001100 println("num3==\(num3)") //num3==1001100 println("num4==\(num4)") //num4==1001100 //综上:可见三个变量输出的数字皆是 1001100,这是为何呢? //原来:swift为了增加数字的可读性,允许在整型数字之间放置(_),当然这个(_)可以放置N个,但是不能以(_)开头,也可以放置在任何位置,如上,连续放置都没有问题 //当然了,如果还有其他有趣的,希望发现者可以分享分享 }这其实是一个很有趣儿的赋值方式,也算是很新颖吧,至于还有没有其他的有趣儿的方式,现在小编还没有发现.嘻嘻
4.其他类型
//关于浮点数,并没有其他特别之处 //swift默认使用Double,而Double比Float精度更高,众所周知吧 /* 注意: Double 代表64位的浮点数。当浮点数特别大,或者要求特别准确的时候使用。 Float代表32位的浮点数。当浮点数不需要64位准度的时候使用。 Double具有至少15位十进制数字的精度,而Float的精度可以小到6位十进制数字。 到底使用哪种浮点型取决于你代码中要使用的值的本质和范围 */浮点数/boolean类型的使用都差不多,这里就没有给出案例
一天一点.希望大家共同进步,thanks
相关文章推荐
- <Head First Java>学习笔记--第三章:primitive主数据类型和引用
- 黑马程序员 Java基础<二>--->数据类型,数组,switch语句
- javaweb --- jsp页面遍历list<map>类型的数据
- MySQL学习笔记之<MySQL数据类型>
- <Js>数据类型
- Java基础--->03.Java的8种基本数据类型。
- KeyValuePair<byte, string> 类型的数据如何绑定到ComboBox控件上
- android 子线程通过bundle、handler.sendMessage(message)向主线程传输多个类型数据,包括list<Map<String,Object>>
- C++中的<limits.h>和<climits>(C++基本数据类型的最值)
- C++:数据类型和表达式<1>无符号和有符号整型
- <Oracle基本的数据存储机制-表>
- oracle的使用<一>支持的数据类型
- NDK<二> 基本数据类型调用
- Rust之语法<3>数据类型
- R语言学习笔记<数据类型>
- 【C#】 6.Set<T>数据类型
- JavaScript基础学习<四>基本数据和引用类型
- 如何在ArrayList<Integer>中添加String类型数据
- 步步为营<二> C语言基本概念 和 数据类型
- BaseDAO开发及获取泛型的传输数据类型(Class<T>)实例讲解