Spec-Zone.ru › OCaml 4.14

Модуль Int32

module Int32: sig .. end

32-битные целые числа.

Этот модуль предоставляет операции над типом int32 знаковых 32-битных целых чисел. В отличие от встроенного типа int, тип int32 гарантированно имеет ширину ровно 32 бита на всех платформах. Все арифметические операции над int32 выполняются по модулю 232.

Примечание по производительности: значения типа int32 занимают больше места в памяти, чем значения типа int, и арифметические операции над int32 обычно медленнее, чем над int. Используйте int32 только в том случае, если приложение требует точной 32-битной арифметики.

Литералы для 32-битных целых чисел имеют суффикс l:

      let zero: int32 = 0l
      let one: int32 = 1l
      let m_one: int32 = -1l
    
val zero : int32

32-битное целое число 0.

val one : int32

32-битное целое число 1.

val minus_one : int32

32-битное целое число -1.

val neg : int32 -> int32

Унарное отрицание.

val add : int32 -> int32 -> int32

Сложение.

val sub : int32 -> int32 -> int32

Вычитание.

val mul : int32 -> int32 -> int32

Умножение.

val div : int32 -> int32 -> int32

Целочисленное деление. Это деление округляет действительное частное своих аргументов к нулю, как указано для (/).

  • Возвращает исключение Division_by_zero если второй аргумент равен нулю.
val unsigned_div : int32 -> int32 -> int32

То же, что Int32.div, за исключением того, что аргументы и результат интерпретируются как беззнаковые 32-битные целые числа.

  • C момента 4.08.0
val rem : int32 -> int32 -> int32

Остаток от целочисленного деления. Если y не равно нулю, результат Int32.rem x y удовлетворяет следующему свойству: x = Int32.add (Int32.mul (Int32.div x y) y) (Int32.rem x y). Если y = 0, Int32.rem x y возвращает Division_by_zero.

val unsigned_rem : int32 -> int32 -> int32

То же, что Int32.rem, за исключением того, что аргументы и результат интерпретируются как беззнаковые 32-битные целые числа.

  • C момента 4.08.0
val succ : int32 -> int32

Преемник. Int32.succ x является Int32.add x Int32.one.

val pred : int32 -> int32

Предшественник. Int32.pred x является Int32.sub x Int32.one.

val abs : int32 -> int32

Возвращает абсолютное значение своего аргумента.

val max_int : int32

Наибольшее представимое 32-битное целое число, 231 - 1.

val min_int : int32

Наименьшее представимое 32-битное целое число, -231.

val logand : int32 -> int32 -> int32

Битовая логическая конъюнкция.

val logor : int32 -> int32 -> int32

Битовая логическая дизъюнкция.

val logxor : int32 -> int32 -> int32

Битовая логическая операция исключающего ИЛИ.

val lognot : int32 -> int32

Битовая логическая инверсия.

val shift_left : int32 -> int -> int32

Int32.shift_left x y сдвигает x влево на y бит. Результат неопределён, если y < 0 или y >= 32.

val shift_right : int32 -> int -> int32

Int32.shift_right x y сдвигает x вправо на y бит. Это арифметический сдвиг: бит знака x дублируется и вставляется в освободившиеся биты. Результат неопределён, если y < 0 или y >= 32.

val shift_right_logical : int32 -> int -> int32

Int32.shift_right_logical x y сдвигает x вправо на y бит. Это логический сдвиг: нули вставляются в освободившиеся биты независимо от знака x. Результат неопределён, если y < 0 или y >= 32.

val of_int : int -> int32

Преобразовать данное целое число (тип int) в 32-битное целое число (тип int32). На 64-битных платформах аргумент берётся по модулю 232.

val to_int : int32 -> int

Преобразовать данное 32-битное целое число (тип int32 ) в целое число (тип int). На 32-битных платформах 32-битное целое число берется по модулю 231, т. е. старший бит теряется во время преобразования. На 64-битных платформах преобразование точное.

val unsigned_to_int : int32 -> int option

То же, что Int32.to_int, но интерпретирует аргумент как беззнаковое целое число. Возвращает None если беззнаковое значение аргумента не может поместиться в int.

  • C момента 4.08.0
val of_float : float -> int32

Преобразовать данное число с плавающей точкой в 32-битное целое число, отбросив дробную часть (округлить к 0). Если отброшенное число с плавающей точкой находится вне диапазона [Int32.min_int, Int32.max_int], исключение не генерируется, и возвращается неопределённое, зависящее от платформы, целое число.

val to_float : int32 -> float

Преобразовать данное 32-битное целое число в число с плавающей точкой.

val of_string : string -> int32

Преобразовать данную строку в 32-битное целое число. Строка читается в десятичной форме (по умолчанию, или если строка начинается с 0u) или в шестнадцатеричной, восьмеричной или двоичной форме, если строка начинается с 0x, 0o или 0b соответственно.

Префикс 0u читает вход как беззнаковое целое число в диапазоне [0, 2*Int32.max_int+1]. Если вход превышает Int32.max_int, он преобразуется в знаковое целое число Int32.min_int + input - Int32.max_int - 1.

Символ _ (подчеркивание) может появляться где угодно в строке и игнорируется.

  • Возвращает исключение Failure если заданная строка не является допустимым представлением целого числа или если представленное целое число выходит за пределы диапазона целых чисел, представимых типом int32.
val of_string_opt : string -> int32 option

То же, что of_string, но возвращает None вместо выброса исключения.

  • C момента 4.05
val to_string : int32 -> string

Возвращает строковое представление своего аргумента в знаковом десятичном виде.

val bits_of_float : float -> int32

Возвращает внутреннее представление данного числа с плавающей точкой в соответствии с битовым представлением формата «одинарный» по стандарту IEEE 754. Бит 31 результата представляет знак числа с плавающей точкой; биты с 30 по 23 представляют (смещённый) порядок; биты с 22 по 0 представляют мантиссу.

val float_of_bits : int32 -> float

Возвращает число с плавающей точкой, внутреннее представление которого в соответствии с битовым представлением формата «одинарный» по стандарту IEEE 754 — это заданное int32.

type t = int32 

Псевдоним для типа 32-битных целых чисел.

val compare : t -> t -> int

Функция сравнения для 32-битных целых чисел с теми же спецификациями, что и compare. Вместе с типом t, эта функция compare позволяет передать модуль Int32 в качестве аргумента в функторы Set.Make и Map.Make.

val unsigned_compare : t -> t -> int

То же, что Int32.compare, за исключением того, что аргументы интерпретируются как беззнаковые 32-битные целые числа.

  • C момента 4.08.0
val equal : t -> t -> bool

Функция проверки равенства для int32.

  • C момента 4.03.0
val min : t -> t -> t

Возвращает меньшее из двух аргументов.

  • C момента 4.13.0
val max : t -> t -> t

Возвращает большее из двух аргументов.

  • C момента 4.13.0

© 1995-2022 INRIA.
https://v2.ocaml.org/releases/4.14/htmlman/libref/Int32.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API