1

emax=3の指数 ( , emin=-4) に3 ビットを使用して、精度 4 (つまり、IEEE 仮数幅 3) で単純な浮動小数点加算 x+y を実行すると、結果が になるはずのときにx = mpfr('0.75')誤っy = mpfr('0.03125')て返されます。は、この縮小精度形式の非正規数であることに注意してください。mpfr('0.75')mpfr('0.8125')0.3125

編集:リンクから抽出され、将来の参照用に含まれる端末の相互作用。

>>> "{0:.10Df}".format(mpfr('0.75')+mpfr('0.03125'))
'0.7500000000'
>>> get_context()
  context(precision=4, real_prec=Default, imag_prec=Default,
  round=RoundToNearest, real_round=Default, imag_round=Default,
  emax=3, emin=-4,
  subnormalize=True,
  trap_underflow=False, underflow=False,
  trap_overflow=False, overflow=False,
  trap_inexact=False, inexact=True,
  trap_invalid=False, invalid=False,
  trap_erange=False, erange=False,
  trap_divzero=False, divzero=False,
  trap_expbound=False,
  allow_complex=False)
>>>
4

1 に答える 1