用法一
操作符
&<<=(_:
&<<=(_:_:)
返回将值的二进制表示左移指定位数的结果,将移位量屏蔽为类型的位宽,并将结果存储在左侧变量中。
声明
static func &<<= (lhs: inout UInt32, rhs: UInt32)
参数
lhs
要转移的值。
rhs
将
lhs
向左移动的位数。如果rhs
超出范围0..<lhs.bitWidth
,则会对其进行屏蔽以生成该范围内的值。
详述
&<<=
运算符执行 masking shift
,其中用作 rhs
的值被屏蔽以产生 0..<lhs.bitWidth
范围内的值。使用此屏蔽值执行移位。
以下示例将 x
定义为 UInt8
的一个实例,这是一个 8 位无符号整数类型。如果在对 x
的操作中使用 2
作为右侧值,则移位量不需要屏蔽。
var x: UInt8 = 30 // 0b00011110
x &<<= 2
// x == 120 // 0b01111000
但是,如果将 19
作为 rhs
传递,则该方法首先将 rhs
位掩码为 3
,然后使用该掩码值作为要移位的位数 lhs
。
var y: UInt8 = 30 // 0b00011110
y &<<= 19
// y == 240 // 0b11110000
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
用法二
操作符
&<<=(_:
&<<=(_:_:)
返回将值的二进制表示左移指定位数的结果,将移位量屏蔽为类型的位宽,并将结果存储在左侧变量中。
声明
static func &<<= <Other>(lhs: inout Self, rhs: Other) where Other : BinaryInteger
参数
lhs
要转移的值。
rhs
将
lhs
向左移动的位数。如果rhs
超出范围0..<lhs.bitWidth
,则会对其进行屏蔽以生成该范围内的值。
详述
&<<=
运算符执行 masking shift
,其中用作 rhs
的值被屏蔽以产生 0..<lhs.bitWidth
范围内的值。使用此屏蔽值执行移位。
以下示例将 x
定义为 UInt8
的一个实例,这是一个 8 位无符号整数类型。如果在对 x
的操作中使用 2
作为右侧值,则移位量不需要屏蔽。
var x: UInt8 = 30 // 0b00011110
x &<<= 2
// x == 120 // 0b01111000
但是,如果将 19
作为 rhs
传递,则该方法首先将 rhs
位掩码为 3
,然后使用该掩码值作为要移位的位数 lhs
。
var y: UInt8 = 30 // 0b00011110
y &<<= 19
// y == 240 // 0b11110000
可用版本
iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+
相关用法
- Swift UInt32 &<<(_:_:)用法及代码示例
- Swift UInt32 &>>(_:_:)用法及代码示例
- Swift UInt32 &=(_:_:)用法及代码示例
- Swift UInt32 &*(_:_:)用法及代码示例
- Swift UInt32 &*=(_:_:)用法及代码示例
- Swift UInt32 &>>=(_:_:)用法及代码示例
- Swift UInt32 &-(_:_:)用法及代码示例
- Swift UInt32 &+=(_:_:)用法及代码示例
- Swift UInt32 &-=(_:_:)用法及代码示例
- Swift UInt32 &(_:_:)用法及代码示例
- Swift UInt32 &+(_:_:)用法及代码示例
- Swift UInt32 ...(_:_:)用法及代码示例
- Swift UInt32 /=(_:_:)用法及代码示例
- Swift UInt32 *=(_:_:)用法及代码示例
- Swift UInt32 >>=(_:_:)用法及代码示例
- Swift UInt32 init(integerLiteral:)用法及代码示例
- Swift UInt32 |=(_:_:)用法及代码示例
- Swift UInt32 *(_:_:)用法及代码示例
- Swift UInt32 /(_:_:)用法及代码示例
- Swift UInt32 +(_:_:)用法及代码示例
- Swift UInt32 |(_:_:)用法及代码示例
- Swift UInt32 quotientAndRemainder(dividingBy:)用法及代码示例
- Swift UInt32 +(_:)用法及代码示例
- Swift UInt32 init(clamping:)用法及代码示例
- Swift UInt32 !=(_:_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 UInt32 &<<=(_:_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。