模組 Int

module Int: sig .. end

整數值。

整數的寬度為 Sys.int_size 位元,並使用二補數表示法。所有運算都以 2Sys.int_size 為模數。它們不會因溢位而失敗。


整數

type t = int 

整數值的型別。

val zero : int

zero 是整數 0

val one : int

one 是整數 1

val minus_one : int

minus_one 是整數 -1

val neg : int -> int

neg x~-x

val add : int -> int -> int

add x y 是加法 x + y

val sub : int -> int -> int

sub x y 是減法 x - y

val mul : int -> int -> int

mul x y 是乘法 x * y

val div : int -> int -> int

div x y 是除法 x / y。請參閱 (/) 以取得詳細資訊。

val rem : int -> int -> int

rem x y 是餘數 mod y。請參閱 (mod) 以取得詳細資訊。

val succ : int -> int

succ xadd x 1

val pred : int -> int

pred xsub x 1

val abs : int -> int

abs xx 的絕對值。也就是說,如果 x 為正數,則為 x,如果 x 為負數,則為 neg x警告。 如果引數為 Int.min_int,則此值可能為負數。

val max_int : int

max_int 是可表示的最大整數,2Sys.int_size - 1-1

val min_int : int

min_int 是可表示的最小整數,-2Sys.int_size - 1

val logand : int -> int -> int

logand x yxy 的位元邏輯 AND。

val logor : int -> int -> int

logor x yxy 的位元邏輯 OR。

val logxor : int -> int -> int

logxor x yxy 的位元邏輯互斥 OR。

val lognot : int -> int

lognot xx 的位元邏輯 NOT。

val shift_left : int -> int -> int

shift_left x nx 向左移動 n 個位元。如果 n < 0n > Sys.int_size,則結果未指定。

val shift_right : int -> int -> int

shift_right x nx 向右移動 n 個位元。這是一個算術移位:x 的符號位會被複製並插入到空出的位元中。如果 n < 0n > Sys.int_size,則結果未指定。

val shift_right_logical : int -> int -> int

shift_right x nx 向右移動 n 個位元。這是一個邏輯移位:無論 x 的符號為何,都會在空出的位元中插入零。如果 n < 0n > Sys.int_size,則結果未指定。

斷言與比較

val equal : int -> int -> bool

equal x y 若且唯若 x = y 時,才為 true

val compare : int -> int -> int

compare x ycompare x y,但效率更高。

val min : int -> int -> int

傳回兩個引數中較小的那個。

val max : int -> int -> int

傳回兩個引數中較大的那個。

轉換

val to_float : int -> float

to_float x 是以浮點數表示的 x

val of_float : float -> int

of_float xx 截斷為整數。如果引數為 nan 或超出可表示整數的範圍,則結果未指定。

val to_string : int -> string

to_string x 是以十進位表示的 x 的文字表示。

val seeded_hash : int -> int -> int

用於整數的種子雜湊函式,其輸出值與 Hashtbl.seeded_hash 相同。此函式允許將此模組作為函子 Hashtbl.MakeSeeded 的引數傳遞。

val hash : int -> int

用於整數的未種子雜湊函式,其輸出值與 Hashtbl.hash 相同。此函式允許將此模組作為函子 Hashtbl.Make 的引數傳遞。