For Development HEAD DRAFTSearch (procedure/syntax/module):

11.75 srfi.270 - 十六進浮動小数点定数

Module: srfi.270

Gaucheの組み込み手続きは十六進浮動小数点数を扱えます。

(string->number "#x1.fp-1")  ⇒ 0.96875
(string->number "1.fp-1" 16) ⇒ 0.96875

(number->string 3.14 16) ⇒ "1.91eb851eb851fp1"

詳しくは数値リテラル構文を参照してください。

このモジュールは、srfi-270で定義されているひとつの補助手続きをエクスポートします。

Function: write-hexadecimal-float z :optional port

[SRFI-270]{srfi.270} zがまず非正確数に変換され、そして十六進浮動小数点表記でもって portに書き出されます。portが省略された場合は現在の出力ポートが 使われます。

  • プレフィクス (#x#eなど) は書き出されません。
  • 数値が0.0もしくは-0.0の場合、指数部を0として 0.0p0および-0.0p0と書き出されます。
  • 浮動小数点数が正規化されている領域であれば、仮数部は “1.” で始まります。
  • 浮動小数点数が非正規化数の場合は、仮数部は “0.” で始まります。
  • NaNおよび無限大は通常の表記 (+nan.0など) になります。
  • zが虚部を持つ複素数の場合は、実部虚部それぞれが十六進浮動小数点数で 出力されます。
(write-hexadecimal-float 6.02e23) ⇒ 1.fde9f10a8d361p78
(write-hexadecimal-float 1e-310)  ⇒ 0.93445b873158p-1029


For Development HEAD DRAFTSearch (procedure/syntax/module):
DRAFT