やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

組込ライブラリ(Float、Rational、Complex)

 浮動少数、有理数

成果物

情報源

クラス 概要
Float 浮動少数。C言語でいうdouble型。実装依存。IEEE754。
Rational 有理数2/3など分数で表せる数。
Complex 複素数。実数と虚数をもつ数。

Float

 リテラルで少数表記すると結果も少数になる。

p 2.0 / 3.0 # 0.6666666666666666

 でも整数だと結果も整数になってしまう。他言語でもあるボクシング/アンボクシングだと思われる。

p 2 / 3 # 0

Rational

 有理数。分数。

c = Rational(2, 3)
p c             # (2/3)
p c.class       # Rational
p c.denominator # 分母
p c.numerator   # 分子

 分子と分母を変更することはできない。

c.denominator = 5 # undefined method `denominator=' for (2/3):Rational (NoMethodError)
c.numerator = 5   # undefined method `numerator=' for (2/3):Rational (NoMethodError)

Complex

 複素数

c = Complex(5, 3)
p c
p c.class
p c.real # 実数
p c.imag # 虚数

対象環境

$ uname -a
Linux raspberrypi 5.10.52-v7l+ #1441 SMP Tue Aug 3 18:11:56 BST 2021 armv7l GNU/Linux