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
的按位逻辑与。
val logor : int -> int -> int
logor x y
是 x
和 y
的按位逻辑或。
val logxor : int -> int -> int
logxor x y
是 x
和 y
的按位逻辑异或。
val lognot : int -> int
lognot x
是 x
的按位逻辑非。
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
。