module Int:sig
..end
整數值。
整數的寬度為 Sys.int_size
位元,並使用二補數表示法。所有運算都以 2Sys.int_size
為模數。它們不會因溢位而失敗。
typet =
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
是餘數 x mod y
。請參閱 (mod)
以取得詳細資訊。
val succ : int -> int
succ x
是 add x 1
。
val pred : int -> int
pred x
是 sub x 1
。
val abs : int -> int
abs x
是 x
的絕對值。也就是說,如果 x
為正數,則為 x
,如果 x
為負數,則為 neg x
。警告。 如果引數為 Int.min_int
,則此值可能為負數。
val max_int : int
max_int
是可表示的最大整數,2
Sys.int_size - 1
-1
。
val min_int : int
min_int
是可表示的最小整數,-2
Sys.int_size - 1
。
val logand : int -> int -> int
logand x y
是 x
和 y
的位元邏輯 AND。
val logor : int -> int -> int
logor x y
是 x
和 y
的位元邏輯 OR。
val logxor : int -> int -> int
logxor x y
是 x
和 y
的位元邏輯互斥 OR。
val lognot : int -> int
lognot x
是 x
的位元邏輯 NOT。
val shift_left : int -> int -> int
shift_left x n
將 x
向左移動 n
個位元。如果 n < 0
或 n >
Sys.int_size
,則結果未指定。
val shift_right : int -> int -> int
shift_right x n
將 x
向右移動 n
個位元。這是一個算術移位:x
的符號位會被複製並插入到空出的位元中。如果 n < 0
或 n >
Sys.int_size
,則結果未指定。
val shift_right_logical : int -> int -> int
shift_right x n
將 x
向右移動 n
個位元。這是一個邏輯移位:無論 x
的符號為何,都會在空出的位元中插入零。如果 n < 0
或 n >
Sys.int_size
,則結果未指定。
val equal : int -> int -> bool
equal x y
若且唯若 x = y
時,才為 true
。
val compare : int -> int -> int
compare x y
是 compare
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 x
將 x
截斷為整數。如果引數為 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
的引數傳遞。