在默认情况下,当向一个整数赋超过它容量得值时,Swift会保存而不是生成一个无效的数,给我们操作过大或者郭小 得数得时候提供了额外的安全性

同时提供三个算术运算符来让系统支持整数溢出运算

  • 溢出加法(&+)
  • 溢出减法(&-)
  • 溢出乘法(&*)

 

swift 溢出运算符_算术运算符

 

溢出也会发生在有符号整形数值上

对于无符号整形数值来说,当出现上溢时,他们会从数值所能容纳得最大数变成最小的数,同样的,当发生下溢时,他们会从所能容纳得最小数变成最大得数。

 

swift 溢出运算符_算术运算符_02

下面代码直接运算时

UInt8是8位无符号整型   范围

swift 溢出运算符_整型_03

 

溢出运算结果

swift 溢出运算符_整型_04

 值得下溢出

swift 溢出运算符_算术运算符_05

有符号整数的溢出

import UIKit
Int8.max
Int8.min
let num1:Int8 = -128
let num2 = num1 &- 1
print(num2)

swift 溢出运算符_算术运算符_06