uint16和uint8的等价物是什么 > OcAML中的C++中uUT1616T和UIT88T的等价性是什么? 我遇到了Int64,但我不确定它是否已签名。另外,我不确定OcAML中的C++中的uTI8*T等价于什么? < P>。C++的类型是指与普通硬件的整数的大小匹配。

uint16和uint8的等价物是什么 > OcAML中的C++中uUT1616T和UIT88T的等价性是什么? 我遇到了Int64,但我不确定它是否已签名。另外,我不确定OcAML中的C++中的uTI8*T等价于什么? < P>。C++的类型是指与普通硬件的整数的大小匹配。,ocaml,Ocaml,OCaml的类型处于更高的级别(或者至少我是这样看待它的)。所以你不会找到完整的整数类型的C++。 仅提及以下整数类型: int:31位有符号值(在64位机器上更长;当前64位实现定义63位有符号值) char:8位无符号值 定义了更多的整数类型: int32:32位有符号值 int64:64位有符号值 nativeint:本机字大小的有符号值(32位机器上为32位;64位机器上为64位) 整数类型就是这样 下面是一个显示所有这些类型值的会话: $ ocaml OCaml

OCaml的类型处于更高的级别(或者至少我是这样看待它的)。所以你不会找到完整的整数类型的C++。 仅提及以下整数类型:

  • int
    :31位有符号值(在64位机器上更长;当前64位实现定义63位有符号值)

  • char
    :8位无符号值

定义了更多的整数类型:

  • int32
    :32位有符号值

  • int64
    :64位有符号值

  • nativeint
    :本机字大小的有符号值(32位机器上为32位;64位机器上为64位)

整数类型就是这样

下面是一个显示所有这些类型值的会话:

$ ocaml
        OCaml version 4.02.1

# 3;;
- : int = 3
# 'z';;
- : char = 'z'
# 3l;;
- : int32 = 3l
# 3L;;
- : int64 = 3L
# 3n;;
- : nativeint = 3n
#
使用更窄的整数值的一个原因是,当有很多整数值时,可以节省空间。对于这种情况,有一个模块,它支持8位和16位的有符号和无符号值数组,以及上面列出的整数类型。

有一个实现不同无符号整数类型的库。如果你需要一个C的行为

uint8\u t

只用

Uint8.t


从这个库。

当尝试创建它时,它会说它缺少设置。数据只需通过opam安装它!