init?<S>(S, radix: Int)
init(bigEndian : Self)
init(littleEndian : Self)
Availability
Technology
protocol FixedWidthInteger where Self.Magnitude
: FixedWidthInteger
, Self.Magnitude
: UnsignedInteger
, Self.Stride
: FixedWidthInteger
, Self.Stride
: SignedInteger
The Fixed
protocol adds binary bitwise operations, bit shifts, and overflow handling to the operations supported by the Binary
protocol.
Fixed
プロトコルは、バイナリビット単位演算子、ビットシフト、そしてオーバーフロー処理を、Binary
プロトコルによってサポートされる演算に加えます。
Use the Fixed
protocol as a constraint or extension point when writing operations that depend on bit shifting, performing bitwise operations, catching overflows, or having access to the maximum or minimum representable value of a type. For example, the following code provides a binary
property on every fixed-width integer that represents the number’s binary representation, split into 8-bit chunks.
ビットシフト、ビット単位演算の実行、オーバーフローのキャッチ、またはある型の最大限または最小限表現可能な値へのアクセスに依存する演算を記述する場合に、Fixed
プロトコルを制約または拡張ポイントとして使ってください。例えば、以下のコードはbinary
プロパティをあらゆる固定長整数に関して提供します、それは数のバイナリ表現を、8ビットの塊へと分割して表します。
The binary
implementation uses the static bit
property and the right shift operator (>>
), both of which are available to any type that conforms to the Fixed
protocol.
binary
実装は、静的bit
プロパティと右シフト演算子(>>
)を使います、それらの両方ともFixed
プロトコルに準拠するあらゆる型で使用可能です。
The next example declares a generic squared
function, which accepts an instance x
of any fixed-width integer type. The function uses the multiplied
method to multiply x
by itself and check whether the result is too large to represent in the same type.
次の例は、総称体squared
関数を宣言します、それはどんな固定長整数型のx
インスタンスでも受け取ります。この関数は、multiplied
メソッドを使って、x
をそれ自身で乗算して、結果が同じ型で表現するのに大きすぎないかどうか検査します。
To make your own custom type conform to the Fixed
protocol, declare the required initializers, properties, and methods. The required methods that are suffixed with Reporting
serve as the customization points for arithmetic operations. When you provide just those methods, the standard library provides default implementations for all other arithmetic methods and operators.
あなた独自のあつらえの型をFixed
プロトコルに準拠させるには、必須イニシャライザ、プロパティ、そしてメソッドを宣言してください。必須メソッドでReporting
を末尾に付けられるものは、算術演算に対するカスタマイズポイントとして供されます。あなたが単にそれらのメソッドだけを提供する場合、標準ライブラリが省略時の実装をすべての他の算術演算メソッドと演算子に提供します。
init?<S>(S, radix: Int)
init(bigEndian : Self)
init(littleEndian : Self)
var bigEndian : Self
var byteSwapped : Self
var leadingZeroBitCount : Int
var littleEndian : Self
var nonzeroBitCount : Int
static var bitWidth : Int
static var max: Self
static var min: Self
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: ClosedRange<Self>) -> Self
static func random(in: Range<Self>) -> Self
static func random<T>(in: ClosedRange<Self>, using: inout T) -> Self
static func random<T>(in: Range<Self>, using: inout T) -> Self
static func &* (Self, Self) -> Self
static func &*= (inout Self, Self)
static func &+ (Self, Self) -> Self
static func &+= (inout Self, Self)
static func &- (Self, Self) -> Self
static func &-= (inout Self, Self)
static func &<< (Self, Self) -> Self
static func &<<= (inout Self, Self)
static func &>> (Self, Self) -> Self
static func &>>= (inout Self, Self)
protocol BinaryInteger
protocol SignedInteger
protocol UnsignedInteger