HOMEUP加減乗除算術演算数値比較

数値関係の関数とかいろいろ

表記

基数の表現

#b11 → 32進数で
#b11 → 98進数で
11 → 1110進数 ^^;
#x11 → 1716進数
#3r11 → 43進数 2から32進数まで

分数(有理数?)

2/3 → 2/3約分できるものは約分される
4/6 → 2/3
4/2 → 2
#3r1/10 → 1/33進法で

浮動小数点

Fedora9(x86_64)のGNU CLisp 2.43でやってみました。

1.231.23
1.2345678901234567890 → 1.2345679eはデフォルトのフォーマット
1.2345678901234567890e0 → 1.2345679
1.2345678901234567890d0 → 1.2345678901234567d0double-float
1.2345678901234567890s0 → 1.23457s0short format
1.2345678901234567890l0 → 1.234567890123456789L0long-float

ちなみにSBCL(Steel Bank Common Lisp)では1.2345678901234567890s0 → 1.2345679。1.2345678901234567890l0 → 1.2345678901234567d0。

実際にはその処理系の定数で最大値とかを調べることができます。

定数CLispSBCL
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)。

数値関係の関数

加減乗除

加減乗除とか基本的な算術演算に関してまとめてみました。

算術演算

上記以外の算術演算関数に関してまとめています。

数値比較

数値を比較する関数について書いてあります。

丸めとか型変換とか
数値を丸めたりする関数、型変換したりする関数について書いてあります。書きかけです。
HOMEUP加減乗除算術演算数値比較