XCode 26.2 日本語化計画
すべてのインスタンスに固定サイズを使用する整数型。
protocol FixedWidthInteger : BinaryInteger, LosslessStringConvertible where Self.Magnitude : FixedWidthInteger, Self.Magnitude : UnsignedInteger, Self.Stride : FixedWidthInteger, Self.Stride : SignedInteger
FixedWidthInteger プロトコルは、BinaryInteger プロトコルでサポートされている演算に加えて、ビット単位の二進演算、ビットシフト、オーバーフロー処理を追加します。
ビットシフト、ビット単位演算の実行、オーバーフローの捕捉、または型の表現可能な最大値または最小値へのアクセスに依存する演算を記述する際は、FixedWidthInteger プロトコルを制約または拡張ポイントとして使用します。例えば、以下のコードは、すべての固定幅整数に対して、数値の二進表現を 8 ビットの塊に分割した binaryString プロパティを提供します。
BinaryString の実装では、静的な bitWidth プロパティと右シフト演算子 (>>) を使用し、これらはどちらも、FixedWidthInteger プロトコルに準拠する任意の型で使用できます。
次の例では、任意の固定幅整数型のインスタンス x を受け入れる汎用の squared 関数を宣言しています。この関数は、multipliedReportingOverflow(by:) メソッドを使用して x を自身で乗算し、結果が同じ型で表現するには大きすぎるかどうかを確認します。
独自のカスタム型を FixedWidthInteger プロトコルに準拠させるには、必要なイニシャライザ、プロパティ、およびメソッドを宣言します。ReportingOverflow という接尾辞が付いた必須メソッドは、算術演算のカスタマイズポイントとして機能します。これらのメソッドのみを実装すれば、標準ライブラリは他のすべての算術メソッドと演算子のデフォルトの実装を提供します。
static func &* (Self, Self) -> Self
与えられた 2 つの値の積を返します。オーバーフローが発生した場合は結果を包み込みます。
必須 デフォルトの実装が提供されます。
static func &*= (inout Self, Self)
2 つの値を乗算し、結果を左辺の変数に格納し、オーバーフローがあればそれを包み込みます。
static func &+ (Self, Self) -> Self
与えられた 2 つの値の合計を返し、オーバーフローが発生した場合は結果を包み込みます。
static func &+= (inout Self, Self)
2 つの値を加算し、オーバーフロー部分を包み込んで結果を左辺の変数に格納します。
static func &- (Self, Self) -> Self
与えられた 2 つの値の差を返します。オーバーフローが発生した場合は結果を包み込みます。
static func &-= (inout Self, Self)
2 番目の値を 1 番目の値から減算し、その差を左辺の変数に格納し、オーバーフローがあればそれを包み込みます。
static func &>> (Self, Self) -> Self
値の二進表現を指定された桁数だけ右にシフトした結果を返し、シフト量は型のビット幅にマスクされます。
必須 デフォルトの実装が提供されます。
static func &<< (Self, Self) -> Self
値の二進表現を指定された桁数だけ左にシフトした結果を返し、シフト量は型のビット幅にマスクされます。
必須 デフォルトの実装が提供されます。
static func &>>= (inout Self, Self)
値の二進表現を指定された桁数だけ右にシフトした結果を計算し、シフト量を型のビット幅にマスクして、結果を左辺の変数に格納します。
必須 デフォルトの実装が提供されます。
static func &<<= (inout Self, Self)
値の二進表現を指定された桁数だけ左にシフトし、シフト量を型のビット幅にマスクした結果を返し、結果を左辺の変数に格納します。
必須 デフォルトの実装が提供されます。
与えられた文字列と基数から新しい整数値を作成します。
必要に応じてバイトの順序を変更し、ビッグエンディアン表現から整数を作成します。
必須 デフォルトの実装が提供されます。
必要に応じてバイトの順序を変更し、リトルエンディアン表現から整数を作成します。
必須 デフォルトの実装が提供されます。
この整数のビッグエンディアン表現。
必須 デフォルトの実装が提供されます。
バイトの順序を入れ替えたこの整数の表現。
必須
この値の二進表現における先頭のゼロの数。
必須
この整数のリトルエンディアン表現。
必須 デフォルトの実装が提供されます。
この値の二進表現で 1 に等しいビットの数。
必須
func addingReportingOverflow(Self) -> (partialValue: Self, overflow: Bool)
この値と与えられた値の合計と、演算中にオーバーフローが発生したかどうかを示すブール値を返します。
必須
func dividedReportingOverflow(by: Self) -> (partialValue: Self, overflow: Bool)
この値を与えられた値で除算した商と、演算中にオーバーフローが発生したかどうかを示すブール値を返します。
必須
func dividingFullWidth((high: Self, low: Self.Magnitude)) -> (quotient: Self, remainder: Self)
与えられた値をこの値で除算したときの商と余りを含むタプルを返します。
必須
func multipliedFullWidth(by: Self) -> (high: Self, low: Self.Magnitude)
この値と与えられた値を乗算した結果の上位部分と下位部分を含むタプルを返します。
必須 デフォルトの実装が提供されます。
func multipliedReportingOverflow(by: Self) -> (partialValue: Self, overflow: Bool)
この値と与えられた値の積と、演算中にオーバーフローが発生したかどうかを示すブール値を返します。
必須
func remainderReportingOverflow(dividingBy: Self) -> (partialValue: Self, overflow: Bool)
この値を与えられた値で除算した後の余りと、除算中にオーバーフローが発生したかどうかを示すブール値を返します。
必須
func subtractingReportingOverflow(Self) -> (partialValue: Self, overflow: Bool)
この値から与えられた値を減算して得られた差と、演算中にオーバーフローが発生したかどうかを示すブール値を返します。
必須
この型の値の基になる二進表現に使用されるビット数。
必須 デフォルトの実装が提供されます。
この型で表現可能な最大の整数。
必須
この型で表現できる最小の整数。
必須
static func random(in: Range<Self>) -> Self
指定された範囲内のランダムな値を返します。
static func random(in: ClosedRange<Self>) -> Self
指定された範囲内のランダムな値を返します。
static func random<T>(in: Range<Self>, using: inout T) -> Self
与えられたジェネレータを乱数のソースとして使用し、指定された範囲内のランダムな値を返します。
static func random<T>(in: ClosedRange<Self>, using: inout T) -> Self
与えられたジェネレータを乱数のソースとして使用し、指定された範囲内のランダムな値を返します。
AdditiveArithmetic
Int128
UInt128
2進法表現での整数型。
protocol SignedInteger
正の値と負の値の両方を表すことができる整数型。
protocol UnsignedInteger
負でない値のみを表すことができる整数型。