Instance Method インスタンスメソッド

dividingFullWidth(_:)

Returns a tuple containing the quotient and remainder obtained by dividing the given value by this value. 与えられた値をこの値で割ることで入手される商と余りを含んでいるタプルを返します。

Declaration 宣言

func dividingFullWidth(_ dividend: (high: Self, low: Self.Magnitude)) -> (quotient: Self, remainder: Self)

Parameters パラメータ

dividend

A tuple containing the high and low parts of a double-width integer. 2倍幅整数の高および低部分を含んでいるタプル。

Return Value 戻り値

A tuple containing the quotient and remainder obtained by dividing dividend by this value. dividendをこの値で除算することによって入手される商と余りを含んでいるタプル。

Discussion 解説

The resulting quotient must be representable within the bounds of the type. If the quotient is too large to represent in the type, a runtime error may occur. 結果の商は、この型の境界の内に表現可能でなければなりません。商がこの型において表すのに大きすぎるならば、実行時エラーが起こるかもしれません。

The following example divides a value that is too large to be represented using a single Int instance by another Int value. Because the quotient is representable as an Int, the division succeeds. 以下の例は、単一のIntインスタンスを使って表されるには大きすぎる値を、別のInt値によって割ります。商がIntとして表現可能であることから、除算は成功します。


// 'dividend' represents the value 0x506f70652053616e74612049494949
let dividend = (22640526660490081, 7959093232766896457 as UInt)
let divisor = 2241543570477705381


let (quotient, remainder) = divisor.dividingFullWidth(dividend)
// quotient == 186319822866995413
// remainder == 0