用法一
>>(_:_:)
聲明
static func >> <RHS>(lhs: Self, rhs: RHS) -> Self where RHS : BinaryInteger
參數
lhs要轉移的值。
rhs向右移動
lhs的位數。
詳述
>> 運算符執行 smart shift ,它定義了任何值移位的結果。
-
使用
rhs的負值使用abs(rhs)執行左移。 -
使用大於或等於
lhs位寬的rhs的值是overshift。對於負值lhs或0對於非負值,過度移位會導致-1。 -
對
rhs使用任何其他值都會對lhs執行該量的右移。
以下示例將 x 定義為 UInt8 的一個實例,這是一個 8 位無符號整數類型。如果在對 x 的操作中使用 2 作為右側值,則該值將右移兩位。
let x: UInt8 = 30 // 0b00011110
let y = x >> 2
// y == 7 // 0b00000111
如果將 11 用作 rhs ,則 x 會過度移位,使其所有位都設置為零。
let z = x >> 11
// z == 0 // 0b00000000
使用負值作為 rhs 與使用 abs(rhs) 執行左移相同。
let a = x >> -3
// a == 240 // 0b11110000
let b = x << 3
// b == 240 // 0b11110000
對負值進行右移操作 “fill in” 用 1 代替 0 的高位。
let q: Int8 = -30 // 0b11100010
let r = q >> 2
// r == -8 // 0b11111000
let s = q >> 11
// s == -1 // 0b11111111
可用版本
用法二
>>(_:_:)
聲明
static func >> <Other>(lhs: Self, rhs: Other) -> Self where Other : BinaryInteger
參數
lhs要轉移的值。
rhs向右移動
lhs的位數。
詳述
>> 運算符執行 smart shift ,它定義了任何值移位的結果。
-
使用
rhs的負值使用abs(rhs)執行左移。 -
使用大於或等於
lhs位寬的rhs的值是overshift。對於負值lhs或0對於非負值,過度移位會導致-1。 -
對
rhs使用任何其他值都會對lhs執行該量的右移。
以下示例將 x 定義為 UInt8 的一個實例,這是一個 8 位無符號整數類型。如果在對 x 的操作中使用 2 作為右側值,則該值將右移兩位。
let x: UInt8 = 30 // 0b00011110
let y = x >> 2
// y == 7 // 0b00000111
如果將 11 用作 rhs ,則 x 會過度移位,使其所有位都設置為零。
let z = x >> 11
// z == 0 // 0b00000000
使用負值作為 rhs 與使用 abs(rhs) 執行左移相同。
let a = x >> -3
// a == 240 // 0b11110000
let b = x << 3
// b == 240 // 0b11110000
對負值進行右移操作 “fill in” 用 1 代替 0 的高位。
let q: Int8 = -30 // 0b11100010
let r = q >> 2
// r == -8 // 0b11111000
let s = q >> 11
// s == -1 // 0b11111111
可用版本
相關用法
- Swift Int64 >>=(_:_:)用法及代碼示例
- Swift Int64 -(_:)用法及代碼示例
- Swift Int64 leadingZeroBitCount用法及代碼示例
- Swift Int64 quotientAndRemainder(dividingBy:)用法及代碼示例
- Swift Int64 !=(_:_:)用法及代碼示例
- Swift Int64 &=(_:_:)用法及代碼示例
- Swift Int64 nonzeroBitCount用法及代碼示例
- Swift Int64 -=(_:_:)用法及代碼示例
- Swift Int64 ~(_:)用法及代碼示例
- Swift Int64 <<(_:_:)用法及代碼示例
- Swift Int64 init(integerLiteral:)用法及代碼示例
- Swift Int64 multipliedFullWidth(by:)用法及代碼示例
- Swift Int64 -(_:_:)用法及代碼示例
- Swift Int64 trailingZeroBitCount用法及代碼示例
- Swift Int64 ...(_:)用法及代碼示例
- Swift Int64 init(truncatingIfNeeded:)用法及代碼示例
- Swift Int64 %(_:_:)用法及代碼示例
- Swift Int64 &-(_:_:)用法及代碼示例
- Swift Int64 ..<(_:_:)用法及代碼示例
- Swift Int64 /(_:_:)用法及代碼示例
- Swift Int64 /=(_:_:)用法及代碼示例
- Swift Int64 init(_:)用法及代碼示例
- Swift Int64 ^(_:_:)用法及代碼示例
- Swift Int64 &*(_:_:)用法及代碼示例
- Swift Int64 &+=(_:_:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Int64 >>(_:_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
