Int64

このページは最後に更新されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

last mod. 2009-09-10 (木) 17:32:47

Chapter 20 標準ライブラリ

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 の引数として渡すことができます。

新規 編集 添付