Structure

# Int8

An 8-bit signed integer value type.

## Topics

### Type Aliases

typealias Int8.Stride

A type that represents the distance between two values.

typealias Int8.IntegerLiteralType

A type that represents an integer literal.

typealias Int8.Magnitude

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

### Initializers

init()

Creates a new value equal to zero.

init(Double)

Creates an integer from the given floating-point value, rounding toward 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<T>(T)

Creates a new instance from the given integer.

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?(String)

Creates a new integer value from the given string.

init(NSNumber)Deprecated

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

init(bigEndian: Int8)

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

init(bitPattern: UInt8)

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 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(from: Decoder)

Creates a new instance by decoding from the given decoder.

init(integerLiteral: Int8)

Creates an instance initialized to the specified integer value.

init(littleEndian: Int8)

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: Int8

The big-endian representation of this integer.

var bitWidth: Int

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

var byteSwapped: Int8

A representation of this integer with the byte order swapped.

var customMirror: Mirror

A mirror that reflects the Int8 instance.

var customPlaygroundQuickLook: _PlaygroundQuickLook

A custom playground Quick Look for the Int8 instance.

Deprecated
var description: String

A textual representation of this value.

var hashValue: Int

The hash value.

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

var littleEndian: Int8

The little-endian representation of this integer.

var magnitude: UInt8

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: Int8.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: Int8

The maximum representable integer in this type.

static var min: Int8

The minimum representable integer in this type.

static var zero: Int8

The zero value.

### Instance Methods

func addingReportingOverflow(Int8) -> (partialValue: Int8, overflow: Bool)

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

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

func distance(to: Int8) -> Int

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

func dividedReportingOverflow(by: Int8) -> (partialValue: Int8, 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: Int8, low: Int8.Magnitude)) -> (quotient: Int8, remainder: Int8)

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: Int8) -> Bool

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

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

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

func multipliedReportingOverflow(by: Int8) -> (partialValue: Int8, 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 negate()

Replaces this value with its additive inverse.

func quotientAndRemainder(dividingBy: Int8) -> (quotient: Int8, remainder: Int8)

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

func remainderReportingOverflow(dividingBy: Int8) -> (partialValue: Int8, 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() -> Int8

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

func subtractingReportingOverflow(Int8) -> (partialValue: Int8, 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<Int8>) -> Int8

Returns a random value within the specified range.

static func random(in: Range<Int8>) -> Int8

Returns a random value within the specified range.

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

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

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

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

### Operator Functions

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

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

static func != (Int8, Int8) -> Bool

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

static func % (Int8, Int8) -> Int8

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

static func %= (inout Int8, Int8)

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

static func & (Int8, Int8) -> Int8

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

static func & (Int8, Int8) -> Int8

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

static func &* (Int8, Int8) -> Int8

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

static func &*= (inout Int8, Int8)

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

static func &+ (Int8, Int8) -> Int8

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

static func &+= (inout Int8, Int8)

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

static func &- (Int8, Int8) -> Int8

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

static func &-= (inout Int8, Int8)

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

static func &<< <Other>(Int8, Other) -> Int8

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 &<< (Int8, Int8) -> Int8

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 &<< (Int8, Int8) -> Int8

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 &<<= <Other>(inout Int8, 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 Int8, Int8)

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 Int8, Int8)

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

static func &>> <Other>(Int8, Other) -> Int8

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 &>> (Int8, Int8) -> Int8

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 &>> (Int8, Int8) -> Int8

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 &>>= (inout Int8, Int8)

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 &>>= <Other>(inout Int8, 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 * (Int8, Int8) -> Int8

Multiplies two values and produces their product.

static func *= (inout Int8, Int8)

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

static func + (Int8) -> Int8

Returns the given number unchanged.

static func + (Int8, Int8) -> Int8

Adds two values and produces their sum.

static func += (inout Int8, Int8)

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

static func - (Int8) -> Int8

Returns the additive inverse of the specified value.

static func - (Int8, Int8) -> Int8

Subtracts one value from another and produces their difference.

static func -= (inout Int8, Int8)

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

static func ... (Int8) -> PartialRangeFrom<Int8>

Returns a partial range extending upward from a lower bound.

static func ... (Int8) -> PartialRangeThrough<Int8>

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

static func ... (Int8, Int8) -> ClosedRange<Int8>

Returns a closed range that contains both of its bounds.

static func ..< (Int8) -> PartialRangeUpTo<Int8>

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

static func ..< (Int8, Int8) -> Range<Int8>

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

static func / (Int8, Int8) -> Int8

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

static func /= (inout Int8, Int8)

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

static func < <Other>(Int8, Other) -> Bool

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

static func < (Int8, Int8) -> Bool

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

static func < (Int8, Int8) -> Bool

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

static func << <Other>(Int8, Other) -> Int8

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

static func << <RHS>(Int8, RHS) -> Int8

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

static func <<= <Other>(inout Int8, 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>(Int8, 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 <= (Int8, Int8) -> 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 <= (Int8, Int8) -> 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 <= (Int8, Int8) -> 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>(Int8, Other) -> Bool

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

static func == (Int8, Int8) -> Bool

Returns a Boolean value indicating whether two values are equal.

static func == (Int8, Int8) -> Bool

Returns a Boolean value indicating whether two values are equal.

static func > <Other>(Int8, Other) -> Bool

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

static func > (Int8, Int8) -> Bool

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

static func > (Int8, Int8) -> Bool

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

static func > (Int8, Int8) -> Bool

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

static func >= <Other>(Int8, 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 >= (Int8, Int8) -> 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 >= (Int8, Int8) -> 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 >= (Int8, Int8) -> 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>(Int8, Other) -> Int8

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

static func >> <RHS>(Int8, RHS) -> Int8

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

static func >>= <Other>(inout Int8, 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 ^ (Int8, Int8) -> Int8

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

static func ^ (Int8, Int8) -> Int8

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

static func ^= (inout Int8, Int8)

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

static func | (Int8, Int8) -> Int8

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

static func | (Int8, Int8) -> Int8

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

static func |= (inout Int8, Int8)

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

static func ~ (Int8) -> Int8

Returns the inverse of the bits set in the argument.

### Structures

struct Int8.SIMD16Storage

Storage for a vector of 16 integers.

struct Int8.SIMD2Storage

Storage for a vector of two integers.

struct Int8.SIMD32Storage

Storage for a vector of 32 integers.

struct Int8.SIMD4Storage

Storage for a vector of four integers.

struct Int8.SIMD64Storage

Storage for a vector of 64 integers.

struct Int8.SIMD8Storage

Storage for a vector of eight integers.

struct Int8.Words

A type that represents the words of this integer.

## Relationships

### Signed Integers

struct Int16

A 16-bit signed integer value type.

struct Int32

A 32-bit signed integer value type.

struct Int64

A 64-bit signed integer value type.