用法一
操作符
<<(_:
<<(_:_:)
返回將值的二進製表示左移指定位數的結果。
聲明
static func << <Other>(lhs: Self, rhs: Other) -> Self where Other : BinaryInteger
參數
lhs
要轉移的值。
rhs
將
lhs
向左移動的位數。
詳述
<<
運算符執行 smart shift
,它定義了任何值移位的結果。
-
使用
rhs
的負值使用abs(rhs)
執行右移。 -
使用大於或等於
lhs
位寬的rhs
的值是overshift
,結果為零。 -
為
rhs
使用任何其他值會在lhs
上執行該數量的左移。
以下示例將 x
定義為 UInt8
的一個實例,這是一個 8 位無符號整數類型。如果在對 x
的操作中使用 2
作為右側值,則該值將左移兩位。
let x: UInt8 = 30 // 0b00011110
let y = x << 2
// y == 120 // 0b01111000
如果將 11
用作 rhs
,則 x
會過度移位,使其所有位都設置為零。
let z = x << 11
// z == 0 // 0b00000000
使用負值作為 rhs
與使用 abs(rhs)
執行右移相同。
let a = x << -3
// a == 3 // 0b00000011
let b = x >> 3
// b == 3 // 0b00000011
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
用法二
操作符
<<(_:
<<(_:_:)
返回將值的二進製表示左移指定位數的結果。
聲明
static func << <RHS>(lhs: Self, rhs: RHS) -> Self where RHS : BinaryInteger
參數
lhs
要轉移的值。
rhs
將
lhs
向左移動的位數。
詳述
<<
運算符執行 smart shift
,它定義了任何值移位的結果。
-
使用
rhs
的負值使用abs(rhs)
執行右移。 -
使用大於或等於
lhs
位寬的rhs
的值是overshift
,結果為零。 -
為
rhs
使用任何其他值會在lhs
上執行該數量的左移。
以下示例將 x
定義為 UInt8
的一個實例,這是一個 8 位無符號整數類型。如果在對 x
的操作中使用 2
作為右側值,則該值將左移兩位。
let x: UInt8 = 30 // 0b00011110
let y = x << 2
// y == 120 // 0b01111000
如果將 11
用作 rhs
,則 x
會過度移位,使其所有位都設置為零。
let z = x << 11
// z == 0 // 0b00000000
使用負值作為 rhs
與使用 abs(rhs)
執行右移相同。
let a = x << -3
// a == 3 // 0b00000011
let b = x >> 3
// b == 3 // 0b00000011
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相關用法
- Swift Int64 <<=(_:_:)用法及代碼示例
- Swift Int64 -(_:)用法及代碼示例
- Swift Int64 leadingZeroBitCount用法及代碼示例
- Swift Int64 quotientAndRemainder(dividingBy:)用法及代碼示例
- Swift Int64 !=(_:_:)用法及代碼示例
- Swift Int64 &=(_:_:)用法及代碼示例
- Swift Int64 nonzeroBitCount用法及代碼示例
- 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 &+=(_:_:)用法及代碼示例
- Swift Int64 random(in:)用法及代碼示例
注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Int64 <<(_:_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。