swift高階運算子

2021-07-24 18:44:52 字數 1647 閱讀 4366

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...