运算符溢出

172 阅读1分钟

1、有符号和无符号,有符号即有正负之分,无符号即只有正数(>=0)

print(Int8.min) // -128
print(Int8.max) // 127
print(UInt8.max) // 0
print(UInt8.max) // 255

2、溢出

var v = UInt8.max
v += 1 // 会溢出, 出现bd2的运行时错误,崩溃

要避免崩溃可以使用溢出运算符 &+、&-、&* 这三个,除法没有,溢出运算符是在最大值和最小值之间往返

var v = UInt8.max
v &+ 1 // 0