Swift学习笔记-数字

Int/Uint

  • 一个整数字面常量没有明确数据类型的时候,默认会被推断为Int
  • 在32位平台上,Int和Int32长度相同
  • 在64位平台上,Int和Int64长度相同
  • Uint为Int的无符号版本

其他整数类型

  • Int8,Int16,Int32,Int64
  • UInt8,UInt16,UInt32,UInt64

使用max,min获取整数类型最大值与最小值

print("The maximum Int Value is \(Int.max)")
print("The maximum Int Value is \(Int.min)")
print("The maximum UInt Value is \(UInt.max)")
print("The maximum UInt Value is \(UInt.min)")

浮点数:Double,Float

  • 一个浮点数字面常量没有明确数据类型的时候,默认会被推断为Double
  • Double为64位双精度浮点数,Float为32位单精度浮点数
  • 表达式同时出现浮点数字面常量和整数字面常量的时候,会被推断为Double

与C/C++的不同之处

  • 使用超过整数类型范围的字面常量,给整数初始化或者赋值时,编译器将会报错,而不是警告
    let value:Int8=2000
    print(value)
  • 如果代码中发生了整数溢出,程序将会报错,而不是继续运行
    var value:Int8=120
    value+=20
    print(value)
  • 你可以使用溢出运算符避免溢出时报错,溢出运算符是在普通运算符上加上了一个&符号,包括加法(&+),乘法(&*),减法(&-)
    var value:Int8=120
    value=value &+ 20
    print(value)
  • 两个不同类型的数字不能相加,编译器会报错,而不是警告
    let x:UInt=2
    let y:Int=3
    
    let value=x * y
    print(value)

猜你喜欢

转载自www.cnblogs.com/Potato-Eater/p/9788841.html