//***********************************
////
高階運算子
// &+ :
向上溢位
// &- :
向下溢位
// &/ :
除零溢位,
0作為被除數時結果是0
// &% :
模零溢位,對
0求餘結果是0
////***********************************
varwilloverflow =
uint8
.max
//等於
255
willoverflow
= willoverflow
&+ 1
// 等於0
willoverflow
= willoverflow
&+ 1
// 等於2
varwillunderflow =
uint8
.min
// 等於0
willunderflow
= willunderflow
&- 1
// 等於
255
let x = 1
lety =
x&/
0// 等於0
letz =
x&%
0// 等於0
//***********************************
////
運算子函式
/運算子過載
// 讓已有的運算子對自定義類和結構體進行運算
// 1.
中置運算子
// 2.
前置和後置運算子
// 3.
組合賦值運算子
// 4.
比較運算子
// 5.
自定義運算子
////***********************************
//*********************
// 1.
中置運算子
//*********************
struct vector2d
func + (left: vector2d,right: vector2d) -> vector2d
let vector1 = vector2d(x:1.0, y: 2.0)
let vector2 = vector2d(x:3.0, y: 4.0)
let vector3 = vector1
+vector2
//
//*********************
// 2.
前置和後置運算子
//
前置:prefix
//
後置:postfix
//*********************
prefix
func-(vector: vector2d) -> vector2d
postfix
func++(vector: vector2d) -> vector2d
let positive = vector2d(x:3.0, y: 4.0)
letnegative =
-positive//
letplusplus =
positive
++//
//*********************
// 3.
組合賦值運算子
//
如: +=
//
需要使用
inout
修飾形參
//*********************
func += (inoutleft: vector2d, right: vector2d)
var original = vector2d(x:1.0, y: 2.0)
let v1 = vector2d(x:3.0, y: 4.0)
original
+=v1//
//*********************
//// 4.
比較運算子
////*********************
func == (left: vector2d,right: vector2d) -> bool
func != (left: vector2d,right: vector2d) -> bool
//*********************
//// 5.
自定義運算子
//
需要先使用關鍵字
operator
在全域性域宣告
//
前置:prefix
//
後置:postfix
//
中置:infix
////*********************
prefix
operator
+++ {}
prefix
func +++(inout vector: vector2d)-> vector2d
//******************************
////
自定義中置運算子的優先性和結合性
////******************************
swift高階運算子
1.按位取反運算子 兩個進行比較,如果對方是0,那麼另一方就得取1,相反。let initialbits uint8 0b00001111 let invertedbits initialbits 等於 0b11110000 2.按位與運算子 兩個進行比較,當兩方都為1時,結果才會為1。let fi...
swift 比較運算子
import foundation 比較運算子中的 比較 二字指的是兩個運算數值分量間的大小關係,與數學意義上的比較概念相同,只不過比較運算子的表示方式喲所不同。等於 a b 不等於 a b 大於 a b 小於 a b 大於等於 a b 小於等於 a b 恒等 不恒等 每乙個比較運算都會返回乙個標識...
Swift 位運算子
import foundation 位運算子通常在如影象處理和建立裝置驅動等底層開發中使用,使用它可以單獨運算元據結構中原始資料的位元位。去使用乙個定義的協議進行通訊的時候,運用位運算子來對原始資料進行編碼和解碼也是非常有效的。1.按位取反運算子 按位取反運算子 是對乙個運算元的每一位都取反 let...