Structure

# UInt16

A 16-bit unsigned integer value type.

## Topics

### Type Aliases

`typealias UInt16.IntegerLiteralType`

A type that represents an integer literal.

`typealias UInt16.Magnitude`

A type that can represent the absolute value of any possible value of this type.

`typealias UInt16.Stride`

A type that represents the distance between two values.

### Initializers

`init()`

Creates a new value equal to zero.

`init(Float80)`

Creates an integer from the given floating-point value, rounding toward zero.

`init(Float)`

Creates an integer from the given floating-point value, rounding toward zero.

`init(Double)`

Creates an integer from the given floating-point value, rounding toward zero.

`init<T>(T)`

Creates an integer from the given floating-point value, rounding toward zero. Any fractional part of the value passed as `source` is removed.

`init<T>(T)`

Creates a new instance from the given integer.

`init?(String)`

Creates a new integer value from the given string.

`init?<S>(S, radix: Int)`

Creates a new integer value from the given string and radix.

`init(bigEndian: UInt16)`

Creates an integer from its big-endian representation, changing the byte order if necessary.

`init(bitPattern: Int16)`

Creates a new instance with the same memory representation as the given value.

`init<Other>(clamping: Other)`

Creates a new instance with the representable value that’s closest to the given integer.

`init?(exactly: Double)`

Creates an integer from the given floating-point value, if it can be represented exactly.

`init?(exactly: Float)`

Creates an integer from the given floating-point value, if it can be represented exactly.

`init?(exactly: Float80)`

Creates an integer from the given floating-point value, if it can be represented exactly.

`init?<T>(exactly: T)`

Creates a new instance from the given integer, if it can be represented exactly.

`init?<T>(exactly: T)`

Creates an integer from the given floating-point value, if it can be represented exactly.

`init(from: Decoder)`

Creates a new instance by decoding from the given decoder.

`init(integerLiteral: UInt16)`

Creates an instance initialized to the specified integer value.

`init(littleEndian: UInt16)`

Creates an integer from its little-endian representation, changing the byte order if necessary.

`init<T>(truncatingIfNeeded: T)`

Creates a new instance from the bit pattern of the given instance by truncating or sign-extending if needed to fit this type.

### Instance Properties

`var bigEndian: UInt16`

The big-endian representation of this integer.

`var bitWidth: Int`

The number of bits in the binary representation of this value.

`var byteSwapped: UInt16`

A representation of this integer with the byte order swapped.

`var customMirror: Mirror`

A mirror that reflects the `UInt16` instance.

`var customPlaygroundQuickLook: _PlaygroundQuickLook`

A custom playground Quick Look for the `UInt16` instance.

Deprecated
`var description: String`

A textual representation of this value.

`var leadingZeroBitCount: Int`

The number of leading zeros in this value’s binary representation.

`var littleEndian: UInt16`

The little-endian representation of this integer.

`var magnitude: UInt16`

The magnitude of this value.

`var nonzeroBitCount: Int`

The number of bits equal to 1 in this value’s binary representation.

`var trailingZeroBitCount: Int`

The number of trailing zeros in this value’s binary representation.

`var words: UInt16.Words`

A collection containing the words of this value’s binary representation, in order from the least significant to most significant.

### Type Properties

`static var bitWidth: Int`

The number of bits used for the underlying binary representation of values of this type.

`static var isSigned: Bool`

A Boolean value indicating whether this type is a signed integer type.

`static var max: UInt16`

The maximum representable integer in this type.

`static var min: UInt16`

The minimum representable integer in this type.

### Instance Methods

`func addingReportingOverflow(UInt16) -> (partialValue: UInt16, overflow: Bool)`

Returns the sum of this value and the given value, along with a Boolean value indicating whether overflow occurred in the operation.

`func advanced(by: Int) -> UInt16`

Returns a value that is offset the specified distance from this value.

`func distance(to: UInt16) -> Int`

Returns the distance from this value to the given value, expressed as a stride.

`func dividedReportingOverflow(by: UInt16) -> (partialValue: UInt16, overflow: Bool)`

Returns the quotient obtained by dividing this value by the given value, along with a Boolean value indicating whether overflow occurred in the operation.

`func dividingFullWidth((high: UInt16, low: UInt16.Magnitude)) -> (quotient: UInt16, remainder: UInt16)`

Returns a tuple containing the quotient and remainder of dividing the given value by this value.

`func encode(to: Encoder)`

Encodes this value into the given encoder.

`func hash(into: inout Hasher)`

Hashes the essential components of this value by feeding them into the given hasher.

`func isMultiple(of: UInt16) -> Bool`

Returns `true` if this value is a multiple of the given value, and `false` otherwise.

`func multipliedFullWidth(by: UInt16) -> (high: UInt16, low: UInt16.Magnitude)`

Returns a tuple containing the high and low parts of the result of multiplying this value by the given value.

`func multipliedReportingOverflow(by: UInt16) -> (partialValue: UInt16, overflow: Bool)`

Returns the product of this value and the given value, along with a Boolean value indicating whether overflow occurred in the operation.

`func quotientAndRemainder(dividingBy: UInt16) -> (quotient: UInt16, remainder: UInt16)`

Returns the quotient and remainder of this value divided by the given value.

`func remainderReportingOverflow(dividingBy: UInt16) -> (partialValue: UInt16, overflow: Bool)`

Returns the remainder after dividing this value by the given value, along with a Boolean value indicating whether overflow occurred during division.

`func signum() -> UInt16`

Returns `-1` if this value is negative and `1` if it’s positive; otherwise, `0`.

`func subtractingReportingOverflow(UInt16) -> (partialValue: UInt16, overflow: Bool)`

Returns the difference obtained by subtracting the given value from this value, along with a Boolean value indicating whether overflow occurred in the operation.

### Type Methods

`static func random(in: ClosedRange<UInt16>) -> UInt16`

Returns a random value within the specified range.

`static func random(in: Range<UInt16>) -> UInt16`

Returns a random value within the specified range.

`static func random<T>(in: ClosedRange<UInt16>, using: inout T) -> UInt16`

Returns a random value within the specified range, using the given generator as a source for randomness.

`static func random<T>(in: Range<UInt16>, using: inout T) -> UInt16`

Returns a random value within the specified range, using the given generator as a source for randomness.

### Operator Functions

`static func != <Other>(UInt16, Other) -> Bool`

Returns a Boolean value indicating whether the two given values are not equal.

`static func != (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether two values are not equal.

`static func % (UInt16, UInt16) -> UInt16`

Returns the remainder of dividing the first value by the second.

`static func %= (inout UInt16, UInt16)`

Divides the first value by the second and stores the remainder in the left-hand-side variable.

`static func & (UInt16, UInt16) -> UInt16`

Returns the result of performing a bitwise AND operation on the two given values.

`static func & (UInt16, UInt16) -> UInt16`

Returns the result of performing a bitwise AND operation on the two given values.

`static func &* (UInt16, UInt16) -> UInt16`

Returns the product of the two given values, wrapping the result in case of any overflow.

`static func &*= (inout UInt16, UInt16)`

Multiplies two values and stores the result in the left-hand-side variable, wrapping any overflow.

`static func &+ (UInt16, UInt16) -> UInt16`

Returns the sum of the two given values, wrapping the result in case of any overflow.

`static func &+= (inout UInt16, UInt16)`

Adds two values and stores the result in the left-hand-side variable, wrapping any overflow.

`static func &- (UInt16, UInt16) -> UInt16`

Returns the difference of the two given values, wrapping the result in case of any overflow.

`static func &-= (inout UInt16, UInt16)`

Subtracts the second value from the first and stores the difference in the left-hand-side variable, wrapping any overflow.

`static func &<< <Other>(UInt16, Other) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.

`static func &<< (UInt16, UInt16) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.

`static func &<< (UInt16, UInt16) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.

`static func &<<= (inout UInt16, UInt16)`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.

`static func &<<= <Other>(inout UInt16, Other)`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.

`static func &= (inout UInt16, UInt16)`

Stores the result of performing a bitwise AND operation on the two given values in the left-hand-side variable.

`static func &>> <Other>(UInt16, Other) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.

`static func &>> (UInt16, UInt16) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.

`static func &>> (UInt16, UInt16) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.

`static func &>>= <Other>(inout UInt16, Other)`

Calculates the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.

`static func &>>= (inout UInt16, UInt16)`

Calculates the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.

`static func * (UInt16, UInt16) -> UInt16`

Multiplies two values and produces their product.

`static func *= (inout UInt16, UInt16)`

Multiplies two values and stores the result in the left-hand-side variable.

`static func + (UInt16) -> UInt16`

Returns the given number unchanged.

`static func + (UInt16, UInt16) -> UInt16`

Adds two values and produces their sum.

`static func += (inout UInt16, UInt16)`

Adds two values and stores the result in the left-hand-side variable.

`static func - (UInt16, UInt16) -> UInt16`

Subtracts one value from another and produces their difference.

`static func -= (inout UInt16, UInt16)`

Subtracts the second value from the first and stores the difference in the left-hand-side variable.

`static func ... (UInt16) -> PartialRangeFrom<UInt16>`

Returns a partial range extending upward from a lower bound.

`static func ... (UInt16) -> PartialRangeThrough<UInt16>`

Returns a partial range up to, and including, its upper bound.

`static func ... (UInt16, UInt16) -> ClosedRange<UInt16>`

Returns a closed range that contains both of its bounds.

`static func ..< (UInt16) -> PartialRangeUpTo<UInt16>`

Returns a partial range up to, but not including, its upper bound.

`static func ..< (UInt16, UInt16) -> Range<UInt16>`

Returns a half-open range that contains its lower bound but not its upper bound.

`static func / (UInt16, UInt16) -> UInt16`

Returns the quotient of dividing the first value by the second.

`static func /= (inout UInt16, UInt16)`

Divides the first value by the second and stores the quotient in the left-hand-side variable.

`static func < <Other>(UInt16, Other) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

`static func < (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

`static func < (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

`static func << <Other>(UInt16, Other) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left.

`static func << <RHS>(UInt16, RHS) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left.

`static func <<= <Other>(inout UInt16, Other)`

Stores the result of shifting a value’s binary representation the specified number of digits to the left in the left-hand-side variable.

`static func <= <Other>(UInt16, Other) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

`static func <= (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

`static func <= (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

`static func <= (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

`static func == <Other>(UInt16, Other) -> Bool`

Returns a Boolean value indicating whether the two given values are equal.

`static func == (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether two values are equal.

`static func == (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether two values are equal.

`static func > <Other>(UInt16, Other) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.

`static func > (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.

`static func > (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.

`static func > (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.

`static func >= <Other>(UInt16, Other) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.

`static func >= (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.

`static func >= (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.

`static func >= (UInt16, UInt16) -> Bool`

Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.

`static func >> <Other>(UInt16, Other) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right.

`static func >> <RHS>(UInt16, RHS) -> UInt16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right.

`static func >>= <Other>(inout UInt16, Other)`

Stores the result of shifting a value’s binary representation the specified number of digits to the right in the left-hand-side variable.

`static func ^ (UInt16, UInt16) -> UInt16`

Returns the result of performing a bitwise XOR operation on the two given values.

`static func ^ (UInt16, UInt16) -> UInt16`

Returns the result of performing a bitwise XOR operation on the two given values.

`static func ^= (inout UInt16, UInt16)`

Stores the result of performing a bitwise XOR operation on the two given values in the left-hand-side variable.

`static func | (UInt16, UInt16) -> UInt16`

Returns the result of performing a bitwise OR operation on the two given values.

`static func | (UInt16, UInt16) -> UInt16`

Returns the result of performing a bitwise OR operation on the two given values.

`static func |= (inout UInt16, UInt16)`

Stores the result of performing a bitwise OR operation on the two given values in the left-hand-side variable.

`static func ~ (UInt16) -> UInt16`

Returns the inverse of the bits set in the argument.

### Structures

`struct UInt16.SIMD16Storage`

Storage for a vector of 16 integers.

`struct UInt16.SIMD2Storage`

Storage for a vector of two integers.

`struct UInt16.SIMD32Storage`

Storage for a vector of 32 integers.

`struct UInt16.SIMD4Storage`

Storage for a vector of four integers.

`struct UInt16.SIMD64Storage`

Storage for a vector of 64 integers.

`struct UInt16.SIMD8Storage`

Storage for a vector of eight integers.

`struct UInt16.Words`

A type that represents the words of this integer.

## Relationships

### Unsigned Integers

`struct UInt`

An unsigned integer value type.

`struct UInt8`

An 8-bit unsigned integer value type.

`struct UInt32`

A 32-bit unsigned integer value type.

`struct UInt64`

A 64-bit unsigned integer value type.