数値
integerとfloatがある.
1> 42. 42 2> 3.14. 3.14000
$
3> $A. 65 4> $a. 97 5> $\t. 9
base#numberでbase進数のnumberの値.別に2,8,16進数に限っていない.
6> 2#1111. 15 7> 8#777. 511 8> 3#10. 3 9> 16#ff. 255
36進数で止まった.
12> 36#10. 36 13> 37#10. ** 1: illegal base '37' **
加減乗除は普通.
14> 3 * (5 - (-3)) + (+4). 28
ただし,/はfloatになるので.divとremがある.
15> 6 / 3. 2.00000 16> 6 div 3. 2 17> 5 div 3. 1 18> 5 rem 3. 2
ビット演算.b{and,or,xor,sl(shift left), sr(shift right)}という名前になっている.
45> io:format("~.2#~n", [bnot 2#01]). -2#10 ok 50> io:format("~.2#~n", [2#1100 band 2#1010]). 2#1000 ok 51> io:format("~.2#~n", [2#1100 bor 2#1010]). 2#1110 ok 52> io:format("~.2#~n", [2#1100 bxor 2#1010]). 2#110 ok 53> io:format("~.2#~n", [2#101 bsl 2]). 2#10100 ok 54> io:format("~.2#~n", [2#10101 bsr 2]). 2#101 ok
"~.2#"というのは2進数でErlang-styleの数値表現でフォーマットするという意味.