| #b11 → 3 | 2進数で |
| #b11 → 9 | 8進数で |
| 11 → 11 | 10進数 ^^; |
| #x11 → 17 | 16進数 |
| #3r11 → 4 | 3進数 2から32進数まで |
| 2/3 → 2/3 | 約分できるものは約分される |
| 4/6 → 2/3 | |
| 4/2 → 2 | |
| #3r1/10 → 1/3 | 3進法で |
Fedora9(x86_64)のGNU CLisp 2.43でやってみました。
| 1.23 | 1.23 |
| 1.2345678901234567890 → 1.2345679 | eはデフォルトのフォーマット |
| 1.2345678901234567890e0 → 1.2345679 | |
| 1.2345678901234567890d0 → 1.2345678901234567d0 | double-float |
| 1.2345678901234567890s0 → 1.23457s0 | short format |
| 1.2345678901234567890l0 → 1.234567890123456789L0 | long-float |
ちなみにSBCL(Steel Bank Common Lisp)では1.2345678901234567890s0 → 1.2345679。1.2345678901234567890l0 → 1.2345678901234567d0。
実際にはその処理系の定数で最大値とかを調べることができます。
| 定数 | CLisp | SBCL | |
|---|---|---|---|
| most-positive-fixnum | 281474976710655 | 1152921504606846975 | 整数の最大値 |
| most-positive-short-float | 3.4028s38 | 3.4028235e38 | short-floatの最大値 |
| most-positive-single-float | 3.4028235E38 | 3.4028235E38 | single-floatの最大値 |
| most-positive-double-float | 1.7976931348623157d308 | 1.7976931348623157d308 | double-floatの最大値 |
| most-positive-long-float | 8.8080652584198167656L646456992 | 1.7976931348623157d308 | long-floatの最大値 |
しかし…long-floatって数学しか使い道が無いような気が…
#c(r i)のr,iに前述の数値が入る。#c(#3r1/10 1.23) → #C(1/3 1.23)。
加減乗除とか基本的な算術演算に関してまとめてみました。
上記以外の算術演算関数に関してまとめています。
数値を比較する関数について書いてあります。