XCode 26.2 日本語化計画
2進法表現での整数型。
protocol BinaryInteger : CustomStringConvertible, Hashable, Numeric (Numeric), Strideable where Self.Magnitude : BinaryInteger, Self.Magnitude == Self.Magnitude.Magnitude
BinaryInteger プロトコルは、標準ライブラリが提供するすべての整数型の基礎です。Int や UInt32 など、標準ライブラリのすべての整数型は BinaryInteger に準拠しています。
BinaryInteger プロトコルに準拠する型の新しいインスタンスは、浮動小数点数または任意の型の別の 2 進整数から作成できます。BinaryInteger プロトコルは、4 種類の異なる変換のためのイニシャライザを提供します。
渡された値が新しい型で表現可能であることが確実な場合は、デフォルトの init(_:) イニシャライザを使用して新しいインスタンスを作成します。例えば、Int16 のインスタンスは値 500 を表現できるため、以下のコードサンプルの最初の変換は成功します。同じ値は Int8 インスタンスでは表現できないほど大きいため、2 回目の変換は失敗し、実行時エラーが発生します。
デフォルトのイニシャライザを使用して浮動小数点値から 2 進整数を作成すると、範囲チェックの前に値はゼロに向かって丸められます。以下の例では、値 127.75 は 127 に丸められ、Int8 型で表現できます。一方、128.25 は 128 に丸められますが、これは Int8 インスタンスとして表現できないため、実行時エラーが発生します。
init?(exactly:) イニシャライザを使用すると、渡された値が表現可能かどうかを確認した後、新しいインスタンスを作成できます。範囲外の値をトラップする代わりに、失敗可能な init?(exactly:) イニシャライザを使用すると、nil が返されます。
浮動小数点値を変換する場合、init?(exactly:) イニシャライザは、渡された値に小数部分がないことと、値が結果の型で表現可能であることの両方をチェックします。
init(clamping:) イニシャライザを使用して、範囲外の値が型の表現可能な範囲に固定される 2 進の整数型の新しいインスタンスを作成します。型 T の場合、結果の値は T.min...T.max の範囲内になります。
init(truncatingIfNeeded:) イニシャライザを使用して、渡された値と同じビットパターンを持つ新しいインスタンスを作成し、必要に応じて値の表現を拡張または切り捨てます。特に、符号付き整数型と符号なし整数型間の変換時や、変換先の型のビット幅が変換元の型よりも小さい場合は、値が保持されない可能性があることに注意してください。以下の例は、負でない整数に対する拡張と切り捨ての動作を示しています。
詰め物は、渡された値の 符号拡張 によって行われます。負でない整数を拡張する場合、結果はゼロで詰め物されます。負の整数を拡張する場合、結果は 1 で詰め物されます。以下の例は、負の値の拡張変換をいくつか示しています。負の値は、符号なし型に変換する場合でも符号拡張されることに注意してください。
異なる 2 進整数型のインスタンスを比較するには、小なり演算子(<)や等号演算子(==)などの関係演算子を使用できます。以下の例では、Int、UInt、UInt8 型のインスタンスを比較しています。
ゼロに等しい新しい値を作成します。
与えられた整数から新しいインスタンスを作成します。
必須 デフォルトの実装が提供されます。
与えられた整数に最も近い表現可能な値を持つ新しいインスタンスを作成します。
必須 デフォルトの実装が提供されます。
init<T>(truncatingIfNeeded: T)
この型に適合するように符号拡張または切り捨てを行って、与えられたインスタンスのビットパターンから新しいインスタンスを作成します。
必須 デフォルトの実装が提供されます。
与えられた浮動小数点値から、ゼロに向かって丸められた整数を作成します。
必須 デフォルトの実装が提供されます。
与えられた浮動小数点値を正確に表現できる場合は、その値から整数を作成します。
必須 デフォルトの実装が提供されます。
算術演算やビット演算を実行したり、値を比較したりします。
func quotientAndRemainder(dividingBy: Self) -> (quotient: Self, remainder: Self)
この値を与えられた値で除算した商と余りを返します。
必須 デフォルトの実装が提供されます。
func isMultiple(of: Self) -> Bool
この値が与えられた値の倍数である場合は true を返し、そうでない場合は false を返します。
必須 デフォルトの実装が提供されます。
この値が負の場合は -1 を、正の場合は 1 を返します。それ以外の場合は 0 を返します。
必須 デフォルトの実装が提供されます。
この型が符号付き整数型であるかどうかを示すブール値。
必須 デフォルトの実装が提供されます。
この値の現在の二進表現のビット数。
必須 デフォルトの実装が提供されます。
この値の二進表現における末尾のゼロの数。
必須
この値の二進表現の word を、最下位から最上位の順に並べたコレクション。
必須
associatedtype Words : RandomAccessCollection
2 進整数の word を表す型。
必須
static func % (Self, Self) -> Self
最初の値を 2 番目の値で除算した余りを返します。
必須
static func ^ (Self, Self) -> Self
与えられた 2 つの値に対してビット単位の XOR 演算を実行した結果を返します。
必須 デフォルトの実装が提供されます。
static func | (Self, Self) -> Self
与えられた 2 つの値に対してビット単位の OR 演算を実行した結果を返します。
必須 デフォルトの実装が提供されます。
static func ^= (inout Self, Self)
与えられた 2 つの値に対してビット単位の XOR 演算を実行した結果を左辺の変数に格納します。
必須
static func |= (inout Self, Self)
与えられた 2 つの値に対してビット単位の OR 演算を実行した結果を左辺の変数に格納します。
必須
static func %= (inout Self, Self)
最初の値を 2 番目の値で除算し、その余りを左辺の変数に格納します。
必須 デフォルトの実装が提供されます。
static func << <RHS>(Self, RHS) -> Self
値の二進表現を指定された桁数だけ左にシフトした結果を返します。
必須 デフォルトの実装が提供されます。
static func >> <RHS>(Self, RHS) -> Self
値の二進表現を指定された桁数だけ右にシフトした結果を返します。
必須 デフォルトの実装が提供されます。
static func >>= <RHS>(inout Self, RHS)
値の二進表現を指定された桁数だけ右にシフトした結果を左辺の変数に格納します。
必須 デフォルトの実装が提供されます。
static func <<= <RHS>(inout Self, RHS)
値の二進表現を指定された桁数だけ左にシフトした結果を左辺の変数に格納します。
必須 デフォルトの実装が提供されます。