溢位運算子

溢位是指當操作導致數字大於或小於該數字的指定位數時可能發生的情況。

由於二進位制演算法的工作方式,在數字對於其位變得太大之後,數字溢位到最小可能的數字(對於位大小),然後從那裡繼續向上計數。類似地,當一個數字變得太小時,它會下溢到最大可能的數字(對於它的位大小)並繼續向下計數。

因為通常不需要這種行為並且可能導致嚴重的安全問題,所以當操作導致溢位或下溢時,Swift 算術運算子+-*將丟擲錯誤。要明確允許上溢和下溢,請改用 &+&-&*

var almostTooLarge = Int.max
almostTooLarge + 1 // not allowed
almostTooLarge &+ 1 // allowed, but result will be the value of Int.min