Int32このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 last mod. 2009-09-10 (木) 17:33:59
module Int32: sig end32 ビット整数です。 このモジュールでは符号付き 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 x は Int32.add x Int32.one です。 val pred : int32 -> int32 1 減算。Int32.pred x は Int32.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 y は x を左に y ビットシフトします。 y < 0 または y >= 32 のとき結果は規定されていません。 val shift_right : int32 -> int -> int32 Int32.shift_right x y は x を右に y ビットシフトします。 これは算術シフトです。新しく空いた上位ビットには x の符号ビットが複製され挿入されます。 y < 0 または y >= 32 のとき結果は規定されていません。 val shift_right_logical : int32 -> int -> int32 Int32.shift_right_logical x y は x を右に 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 進として解釈されます。文字列が 0x 、0o 、0b で始まっている場合はそれぞれ 16 進、8 進、2 進として解釈されます。 文字列が整数を表す文字列として不正であった場合は、例外 Failure "int_of_string" が発生します。 val to_string : int32 -> string 引数を符号付き 10 進文字列表記したものを返します。 val bits_of_float : float -> int32 浮動小数点小数を IEEE754 浮動小数点の「single format」ビットレイアウトに従った表現に変換します。戻り値の 31 ビット目は float の符号ビット、30 ビット目から 23 ビット目は指数部(バイアス付き)、22ビット目から0ビットまでは浮動小数点の仮数部が入ります。 val float_of_bits : int32 -> float IEEE754 浮動小数点の「single format」ビットレイアウト表現を浮動小数点小数に変換します。 type t = int32 32 ビット整数型の別名です。 val compare : t -> t -> int 32 ビット整数の比較関数です。Pervasives.compare の仕様と同じです。型 t とこの関数 compare を使ってモジュール String を functor Set.Make や Map.Make の引数として渡すことができます。 |