OCamlでInt32を扱いたい
OCamlで32ビット整数を扱いたい場合は Int32 モジュールを利用する。
Int32モジュール
code:ocaml
(* Int32リテラル。数値の後ろに小文字のLをつけると Int32 になる *)
utop # 10;;
- : int = 10
utop # 10l;;
- : int32 = 10l
(* int から int32 へ変換 *)
utop # Int32.of_int 10;;
- : int32 = 10l
(* string から int32 へ変換 *)
utop # Int32.of_string "20";;
- : int32 = 20l
(* int32 から int へ変換 *)
utop # Int32.to_int 10l;;
- : int = 10
(* int から string へ変換 *)
utop # Int32.to_string 20l;;
- : string = "20"
Int32 での加算。Int32.add を用いる。
code:ocaml
utop # Int32.add 10l 20l;;
- : int32 = 30l
int32のprintfは %d の代わりに %ld を用いる。
code:ocaml
utop # Printf.printf "%d\n" 123;;
123
- : unit = ()
utop # Printf.printf "%ld\n" 456l;;
456
- : unit = ()