Next: Miscellaneous Float Functions, Previous: Float Comparison, Up: Floating-point Functions [Index]
ここで述べる関数は,mpf
値に対してstdioストリームとの入出力を行います。stream
引数にNULL
ポインタを渡すと,stdin
からの入力,stdout
への出力をそれぞれ行います。
これらの関数を使うときには, gmp.hより前にstdio.hをインクルードしておき,必要となるプロトタイプ宣言が使えるようにしておきます。
Formatted Output や Formatted Inputも参照して下さい。
streamにopを文字列として出力します。返り値は書きこまれたバイト数で,エラーが発生した時にはゼロが返されます。
仮数部の先頭は‘0.’から始まり,基数baseは2以上36以下,または-36以上-2以下に設定できます。指数部は ‘e’で区切られて表示されますが,基数が10以上であれば区切り文字は@
になります。指数部は常に10進表現になります。小数点は現在のロケールに従いますので,localeconv
で設定可能です。
基数baseが2以上36以下の場合は数字と小文字だけで表現されます。-36以上-2以下の場合は,数字と大文字が使われます。37以上62の時は数字,大文字,小文字がこの順で使用されます。
仮数部は,opの精度桁以内のn_digits桁まで出力されます。n_digitsがゼロの時は最大桁数まで表示されます。
基数baseの値としてstreamから文字列として読み込み,浮動小数点数に変換してropに格納します。‘M@N’の形式か,10進表現であれば‘MeN’という形式であれば読み取ることができます。‘M’は仮数部,‘N’は指数部を意味します。仮数部は常に指定された基数表現となります。指数部は指定された基数表現,もしくは,baseが負数の時は10進表現となります。小数点は現在のロケールのものが使用され,localeconv
で設定できます。
引数baseは2以上36,もしくは-36以上-2以下に設定できます。負数の場合は指数部は10進表現と指定したことになります。
対応するmpz
関数とは異なり,baseがゼロの時は,基数を先頭の文字で指定することができません。従って,‘0.23’のような数字を8進数と解釈することはありません。
返り値は読み込んだバイト数になります。エラー発生時にはゼロが返されます。