Module Int32


module Int32: sig  end
32 ビット整数です。

このモジュールでは符号付き 32 ビット整数の型 int32 を処理できます。組み込みの int 型とは異なり、int32 型はプラットフォームを問わず 32 ビットの幅を持つことが保証されています。int32 に関する算術処理は 232 を法とする演算になります。

パフォーマンスについて: int32 型の値は int 型の値に比べて多くのメモリを必要とし、また int32 の算術処理は一般に int より遅くなります。int32 は 32 ビットの算術演算が必要なときだけ使用してください。


val zero : int32
32 ビット整数の 0 。
val one : int32
32 ビット整数の 1 。
val minus_one : int32
32 ビット整数の -1 。
val neg : int32 -> int32
単項否定。
val add : int32 -> int32 -> int32
加算。
val sub : int32 -> int32 -> int32
減算。
val mul : int32 -> int32 -> int32
乗算。
val div : int32 -> int32 -> int32
整数除算。第二引数が 0 である場合は例外 Division_by_zero を発生します。Pervasives.(/) の仕様のように、実数商は 0 方向に丸められます。
val rem : int32 -> int32 -> int32
整数剰余。y が 0 でない場合、Int32.rem x y の結果は Int32.zero <= Int32.rem x y < Int32.abs y かつ x = Int32.add (Int32.mul (Int32.div x y) y) (Int32.rem x y) という特性を持ちます。y = 0 である場合は、Int32.rem x y は例外 Division_by_zero を発生します。
val succ : int32 -> int32
1 加算。Int32.succ xInt32.add x Int32.one です。
val pred : int32 -> int32
1 減算。Int32.pred xInt32.sub x Int32.one です。
val abs : int32 -> int32
引数の絶対値を返します。
val max_int : int32
32 ビット整数が表現できる最大の値、231 - 1 です。
val min_int : int32
32 ビット整数が表現できる最小の値、-231 です。
val logand : int32 -> int32 -> int32
ビット論理積。
val logor : int32 -> int32 -> int32
ビット論理和。
val logxor : int32 -> int32 -> int32
ビット排他的論理和。
val lognot : int32 -> int32
ビット論理否定。
val shift_left : int32 -> int -> int32
Int32.shift_left x yx を左に y ビットシフトします。 y < 0 または y >= 32 のとき結果は規定されていません。
val shift_right : int32 -> int -> int32
Int32.shift_right x yx を右に y ビットシフトします。 これは算術シフトです。新しく空いた上位ビットには x の符号ビットが複製され挿入されます。 y < 0 または y >= 32 のとき結果は規定されていません。
val shift_right_logical : int32 -> int -> int32
Int32.shift_right_logical x yx を右に y ビットシフトします。 これは論理シフトです。新しく空いた上位ビットには x の符号ではなく常に 0 が入ります。 y < 0 または y >= 32 のとき結果は規定されていません。
val of_int : int -> int32
与えられた整数 (int 型) を 32 ビット整数 (int32 型) に変換します。
val to_int : int32 -> int
32 ビット整数 (int32 型) を整数 (int 型) に変換します。32 ビットプラットフォームでは、231 を法とした数を返します。つまり変換によって最上位ビットを失います。64 ビットプラットフォームでは、変換による情報損失はありません。
val of_float : float -> int32
浮動小数点小数を 32 ビット整数に変換します。小数部分は切り捨てます (0 方向に丸めます) 。切り捨て後、その数が [Int32.min_int, Int32.max_int] の範囲にない場合、変換結果は未定義です。
val to_float : int32 -> float
32 ビット整数を浮動小数点小数に変換します。
val of_string : string -> int32
文字列を 32 ビット整数に変換します。 文字列は (デフォルトで) 10 進として解釈されます。文字列が 0x0o0b で始まっている場合はそれぞれ 16 進、8 進、2 進として解釈されます。 文字列が整数を表す文字列として不正であった場合は、例外 Failure "int_of_string" が発生します。
val to_string : int32 -> string
引数を符号付き 10 進文字列表記したものを返します。
val format : string -> int32 -> string
Int32.format fmt n は 32 ビット整数 n を、fmt で指定されたフォーマットで文字列表示して返します。 fmtPrintf 方式のフォーマットで、変換指定 %d%i%u%x%X%o のどれかになります。この関数は推奨されていません。代わりに Printf.sprintf%lx フォーマットを使用してください。

type t = int32
32 ビット整数型の別名です。

val compare : t -> t -> int
32 ビット整数の比較関数です。Pervasives.compare の仕様と同じです。型 t とこの関数 compare を使ってモジュール String を functor Set.MakeMap.Make の引数として渡すことができます。