#author("2019-07-13T12:42:05+00:00","default:sagasite","sagasite")
[[プログラミングの基礎]] > 第2章 基本的なデータ
*2.2 実数 [#j847b70b]
-OCamlの数値型は、整数と実数が明確に区別されている。
-実数専用の演算子が用意されている。
**小数点 [#l277a861]
-OCamlで実数を示すには、小数点をつける。
-小数点以下が0の場合、小数点以下は省略してもいいが、小数点は書かないといけない。
# 2.0 ;;
- : float = 2.
# 2. ;;
- : float = 2.
** 実数専用の演算子 [#z99124fa]
整数の四則演算は、「+」「-」「*」「/」だが、
実数の四則演算は、「+.」「-.」「*.」「/.」となっている。
=記号の後ろに「.」(ドット、ピリオド)を付ける形になっている。
ちょっと面倒っちいけど、厳密に区別するための仕組みなので仕方ないですね。
** べき乗の関数「**」 [#o43acd39]
OCamlの実数には、べき乗を求める関数「**」が用意されています。
# 1.414 ** 2. ;;
- : float = 1.9993959999999997
OCamlでは、べき乗は実数のみに用意されており、整数には用意されていない、とのこと。
*** 問題 2.2 [#h546f2e7]
(p.9)
# 2. *. 3.14 *. 10. ;;
- : float = 62.800000000000004
# 1.73 ** 2. ;;
- : float = 2.9929
# 7. /. 2. ;;
- : float = 3.5
** 無限大 [#f3a9c4a8]
OCamlの実数の中で、特殊な値として「無限大」が用意されています。
「infinity」で無限大を表します。
# infinity ;;
- : float = infinity
** マイナス無限大 [#n357822d]
マイナス無限大は「neg_infinity」で表します。
# neg_infinity ;;
- : float = neg_infinity
# 2.0 /. infinity ;;
- : float = 0.
# 1.0 -. infinity ;;
- : float = neg_infinity
OCamlの実数の取り扱いは、他のプログラミング言語とはちょっと違っているので、覚えておきましょう。