)と同様の書式指定文字列が利用できます。指定方式は下記の通りです。mpf_t型変数用に追加してあります。,‘M’はmp_limb_t型,‘N’はmp_limb_t型の配列用として追加されています。‘M’,‘N’は整数用の指定子です。‘Q’は必要があれば‘/’を分子と分母に挟んで出力します。‘F’は浮動小数点数用の指定子です。これらは次のように使います。Functions)の処理がそうであるように,有効桁を最初に出力します。負数のサイズが指定されている時には,その値が負であることを示しています。基本的に,標準Cのprintf関数の書式出力はそのまま利用でき,GMP用の拡張書式出力と混ぜこぜにしても問題ありません。現在の実装では,標準の書式出力はprintf関数にそのまま引き渡し,GMP用の拡張書式指定だけ直接制御しています。書式指定におけるフラグは下記のものが使えます。GLIBCのスタイルである‘'’は,そのC言語のライブラリがサポートする限りは標準Cのデータ型に対してのみ利用でき,GMPでは使えません。数桁ごとのグルーピング(GLIBCのスタイル)(GMP型は不適用)表示幅指定や桁数指定は標準printf関数と同様に,書式指定の中にその数字を埋め込んだり,int型に対しては‘*’で与えます。標準データ型は次のように与えます。‘h’や‘l’は標準のものと同じで,それ以外のものはコンパイラやヘッダファイルに依存して決まります。size_tGMPのデータ型に対しては下記のように与えます。出力形式の変更については下記のようなものが使えます。‘a’と‘A’はmpf_tに対しては常に使用可能ですが,出力形式は使用しているCライブラリの標準C浮動小数点数の形式に依存します。‘m’と‘p’の出力形式はCライブラリに依存します。‘Q’,‘N’に対しては符号つきで表示されます。‘M’はCライブラリが提供する‘l’もしくは‘L’の代替物で,そのサイズはmp_limb_tによります。符号なし形式で使うのが普通ですが,符号あり形式でも使用でき,その場合は2の補数による負数表現で解釈します。‘n’は,GMPデータ型も含むすべてのデータ型に対して指定できます。printfで使えるその他のデータ出力形式はgmp_printf関数では使用できません。GLIBCのregister_printf_function関数で登録したものに関しても同様です。‘$’形式もサポートしていません(が,将来はサポートされるかも)。精度指定部分は,整数に対する‘Z’や,浮動小数点型に対する‘F’でも同じ意味になりますが,現状では‘Q’に対しては定義されていませんので,使わないようにして下さい。mpf_tの出力形式は,表現すべき値を表現するために必要となる桁数を出力します。mpf_get_str関数の結果についても同様です。要求される表示桁数に満たない時にはゼロで埋めます。これはmpf_tの値が整数である場合に,‘f’を指定した時にも同じようにゼロで埋めます。2^1024が128bitsのmpf_t型に収められているとすると,約40桁しか表現できませんので残りはゼロで埋めます。表示桁数の指定が空の場合,例えば‘%.Fe’や‘%.Ff’の時は,有効桁をすべて表示します。ドット指定もない場合は,6桁表示したと見なします。‘%.Ff’,‘%.0Ff’は全部異なる表示形式となります。小数点を表わす文字(もしくは文字列)は使用システムのロケールに依存します。