模块 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 x 等于 add x 1

val pred : int -> int

pred x 等于 sub 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 的按位逻辑与。

val logor : int -> int -> int

logor x yxy 的按位逻辑或。

val logxor : int -> int -> int

logxor x yxy 的按位逻辑异或。

val lognot : int -> int

lognot xx 的按位逻辑非。

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 y 等于 compare x y,但效率更高。

val min : int -> int -> int

返回两个参数中较小的一个。

val max : int -> int -> int

返回两个参数中较大的一个。

转换

val to_float : int -> float

to_float xx 作为浮点数。

val of_float : float -> int

of_float xx 截断为整数。如果参数为 nan 或超出可表示整数的范围,则结果未定义。

val to_string : int -> string

to_string xx 的十进制表示形式。

val seeded_hash : int -> int -> int

整数的带种子哈希函数,其输出值与 Hashtbl.seeded_hash 相同。此函数允许将此模块作为参数传递给函子 Hashtbl.MakeSeeded

val hash : int -> int

整数的无种子哈希函数,其输出值与 Hashtbl.hash 相同。此函数允许将此模块作为参数传递给函子 Hashtbl.Make