1.按位取反運算子
兩個進行比較,如果對方是0,那麼另一方就得取1,相反。
let initialbits: uint8 = 0b00001111
let invertedbits = ~initialbits // 等於 0b11110000
2.按位與運算子
兩個進行比較,當兩方都為1時,結果才會為1。
let firstsixbits: uint8 = 0b11111100
let lastsixbits: uint8 = 0b00111111
let middlefourbits = firstsixbits & lastsixbits // 等於 00111100
3.按位或運算
兩個進行比較,只要任意一方為1,那麼結果就是1,。
let somebits: uint8 = 0b10110010
let morebits: uint8 = 0b01011110
let combinedbits = somebits | morebits // 等於 11111110
4.按位異或運算子
兩個進行比較,只有當0對1時才會為1,其他的都為0.
let firstbits: uint8 = 0b00010100
let otherbits: uint8 = 0b00000101
let outputbits = firstbits ^ otherbits // 等於 00010001
1.無符整型的移位操作
2.有符整型的移位操作
var potentialoverflow = int16.max + 1 //就會出錯
溢位加法 &+
溢位減法 &-
溢位乘法 &*
溢位除法 &/
溢位求餘 &%
1.值的上溢位
var willoverflow = uint8.max
// willoverflow 等於uint8的最大整數 255
willoverflow = willoverflow &+ 1
// 此時 willoverflow 等於 0
2.值的下溢位
var willunderflow = uint8.min
// willunderflow 等於uint8的最小值0
willunderflow = willunderflow &- 1
// 此時 willunderflow 等於 255
3.有符整型溢位
var signedunderflow = int8.min
// signedunderflow 等於最小的有符整數 -128
signedunderflow = signedunderflow &- 1
// 此時 signedunderflow 等於 127
Swift 高階運算子
高階運算子 向上溢位 向下溢位 除零溢位,0作為被除數時結果是0 模零溢位,對 0求餘結果是0 varwilloverflow uint8 max 等於 255 willoverflow willoverflow 1 等於0 willoverflow willoverflow 1 等於2 varwi...
swift 比較運算子
import foundation 比較運算子中的 比較 二字指的是兩個運算數值分量間的大小關係,與數學意義上的比較概念相同,只不過比較運算子的表示方式喲所不同。等於 a b 不等於 a b 大於 a b 小於 a b 大於等於 a b 小於等於 a b 恒等 不恒等 每乙個比較運算都會返回乙個標識...
Swift 位運算子
import foundation 位運算子通常在如影象處理和建立裝置驅動等底層開發中使用,使用它可以單獨運算元據結構中原始資料的位元位。去使用乙個定義的協議進行通訊的時候,運用位運算子來對原始資料進行編碼和解碼也是非常有效的。1.按位取反運算子 按位取反運算子 是對乙個運算元的每一位都取反 let...