Int64このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。 last mod. 2009-09-10 (木) 17:32:47
module Int64: sig end 64 ビット整数です。 このモジュールでは符号付き 64 ビット整数の型 int64 を処理できます。組み込みの int 型とは異なり、int64 型はプラットフォームを問わず 64 ビットの幅を持つことが保証されています。int64 に関する算術処理は 264 を法とする演算になります。 パフォーマンスについて: int64 型の値は int 型の値に比べて多くのメモリを必要とし、また int64 の算術処理は一般に int より遅くなります。int64 は 64 ビットの算術演算が必要なときだけ使用してください。 val zero : int64 64 ビット整数の 0 。 val one : int64 64 ビット整数の 1 。 val minus_one : int64 64 ビット整数の -1 。 val neg : int64 -> int64 単項否定。 val add : int64 -> int64 -> int64 加算。 val sub : int64 -> int64 -> int64 減算。 val mul : int64 -> int64 -> int64 乗算。 val div : int64 -> int64 -> int64 整数除算。第二引数が 0 である場合は例外 Division_by_zero を発生します。Pervasives.(/) の仕様のように、実数商は 0 方向に丸められます。 val rem : int64 -> int64 -> int64 整数剰余。y が 0 でない場合、Int64.rem x y の結果は Int64.zero <= Int64.rem x y < Int64.abs y かつ x = Int64.add (Int64.mul (Int64.div x y) y) (Int64.rem x y) という特性を持ちます。y = 0 である場合は、Int64.rem x y は例外 Division_by_zero を発生します。 val succ : int64 -> int64 1 加算。Int64.succ x は Int64.add x Int64.one です。 val pred : int64 -> int64 1 減算。Int64.pred x は Int64.sub x Int64.one です。 val abs : int64 -> int64 引数の絶対値を返します。 val max_int : int64 64 ビット整数が表現できる最大の値、263 - 1 です。 val min_int : int64 64 ビット整数が表現できる最小の値、-263 です。 val logand : int64 -> int64 -> int64 ビット論理積。 val logor : int64 -> int64 -> int64 ビット論理和。 val logxor : int64 -> int64 -> int64 ビット排他的論理和。 val lognot : int64 -> int64 ビット論理否定。 val shift_left : int64 -> int -> int64 Int64.shift_left x y は x を左に y ビットシフトします。 y < 0 または y >= 64 のとき結果は規定されていません。 val shift_right : int64 -> int -> int64 Int64.shift_right x y は x を右に y ビットシフトします。 これは算術シフトです。新しく空いた上位ビットには x の符号ビットが複製され挿入されます。 y < 0 または y >= 64 のとき結果は規定されていません。 val shift_right_logical : int64 -> int -> int64 Int64.shift_right_logical x y は x を右に y ビットシフトします。 これは論理シフトです。新しく空いた上位ビットには x の符号ではなく常に 0 が入ります。 y < 0 または y >= 64 のとき結果は規定されていません。 val of_int : int -> int64 与えられた整数 (int 型) を 64 ビット整数 (int64 型) に変換します。 val to_int : int64 -> int 64 ビット整数 (int64 型) を整数 (int 型) に変換します。64 ビットプラットフォームでは、263 を法とした数を返します。つまり変換によって最上位ビットを失います。32 ビットプラットフォームでは、231 を法とした数を返します。つまり変換によって上位 33 ビットを失います。 val of_float : float -> int64 浮動小数点小数を 64 ビット整数に変換します。小数部分は切り捨てます (0 方向に丸めます) 。切り捨て後、その数が [Int64.min_int, Int64.max_int] の範囲にない場合、変換結果は未定義です。 val to_float : int64 -> float 64 ビット整数を浮動小数点小数に変換します。 val of_int32 : int32 -> int64 32 ビット整数 (int32 型) を 64 ビット整数 (int64 型) に変換します。 val to_int32 : int64 -> int32 64 ビット整数 (int64 型) を 32 ビット整数 (int32 型) に変換します。64 ビット整数は 232 を法とした数に変換されます。つまり変換によって上位 32 ビットを失います。 val of_nativeint : nativeint -> int64 native 整数を 64 ビット整数 (int64 型) に変換します。 val to_nativeint : int64 -> nativeint 64 ビット整数 (int64 型) を native 整数に変換します。32 ビットプラットフォームでは、232 を法とした数に変換されます。64 ビットプラットフォームでは、変換による情報損失はありません。 val of_string : string -> int64 文字列を 64 ビット整数に変換します。文字列は (デフォルトで) 10 進として解釈されます。文字列が 0x 、0o 、0b で始まっている場合はそれぞれ 16 進、8 進、2 進として解釈されます。 文字列が整数を表す文字列として不正であった場合は、例外 Failure "int_of_string" が発生します。 val to_string : int64 -> string 引数を符号付き 10 進文字列表記したものを返します。 val bits_of_float : float -> int64 浮動小数点小数を IEEE 754 浮動小数点 「double format」 ビットレイアウトに従った内部形式を返します。63 ビット目は float の符号ビットを表し、62 ビット目から 52 ビット目までが (バイアス付き) 指数部、51 ビット目から 0 ビット目までが仮数部を表します。 val float_of_bits : int64 -> float int64 で与えられた IEEE 754 浮動小数点 「double format」 ビットレイアウトの内部形式を持つ浮動小数点小数を返します。 type t = int64 64 ビット整数型の別名です。 val compare : t -> t -> int 64 ビット整数の比較関数です。Pervasives.compare の仕様と同じです。型 t とこの関数 compare を使ってモジュール String を functor Set.Make や Map.Make の引数として渡すことができます。 |