let i = 32
をくれますint32
。
を定義したい場合はどうすればよいint64
ですか?
let i = 32L
(Objective Caml 3.07 で導入された int64 リテラルの接尾辞 L)
モジュール Int64 を使用します: http://caml.inria.fr/pub/docs/manual-ocaml/libref/Int64.html Google も使用する必要があります...
let i = 32
int
typeではなくtype の値が得られますint32
。
piokuc と user1034081 が指摘したように、数値の後に L を追加することで値を取得できますが、int64
それがあなたのやりたいことかどうかはわかりません。なぜ欲しいのint64
ですか?
OCaml は、他の言語とは異なる整数の内部表現を持っており、GC 用に余分なビットが必要なため、31 ビットまたは 63 ビット (アーキテクチャによって異なります) で格納します。使用する正当な理由がない場合int64
(つまり、OCaml で C コードを使用したい、または C で OCaml コードを使用したい場合)、int
型を使用してください。