Hatena::Grouperlang

msyktの日記

 | 

2013-10-28

2.7 浮動小数点(p.18)

02:34

「/」は常に浮動小数点を返す。そのため4/2は(シェルでは)2.0000に評価される。N div MとN rem Mは整数の除算と剰余に使われる。

Eshell V5.10.1  (abort with ^G)
1> 4/2.
2.0
2> 1/3.
0.3333333333333333
3> 2/3.
0.6666666666666666
4> 5/3.
1.6666666666666667
5> 4 div 2.
2
6> 1 div 3.
0
7> 5 div 3.
1
8> 5 rem 3.
2
9> 5 div 3.0.
** exception error: an error occurred when evaluating an arithmetic expression
     in operator  div/2
        called as 5 div 3.0
10> 5.0 div 3.
** exception error: an error occurred when evaluating an arithmetic expression
     in operator  div/2
        called as 5.0 div 3
11> 5 rem 3.0.
** exception error: an error occurred when evaluating an arithmetic expression
     in operator  rem/2
        called as 5 rem 3.0

有効桁数や丸め方(2/3の最後が7じゃない)とか細かいところで引用文と異なるが、基本的なルールは引用文にあるとおり。divやremに浮動小数点を指定すると例外が発生する。

プログラミングErlang

プログラミングErlang

ゲスト



トラックバック - http://erlang.g.hatena.ne.jp/msykt/20131028
 |