変換関数この節ではGMPの多倍長整数をC標準のデータ型に変換する関数について解説します。Integersで解説しています。long型にして返します。long型に収まり切れない場合は,収まる程度の小さい方の有効ビットだけを返すことになります。opの符号は無視されますので,必ず絶対値になります。int型に収まる場合はopの値がそのまま返ってきます。収まり切れない時には,opと同じ符号の,小さい方の有効桁数部分が返ってきます。int型としては大きすぎる場合はあまり役に立つ結果にはなりませんが,収まる値になっているかどうかはmpz_fits_slong_p関数を使うことで判明します。zero)で丸めて変換します。変換の際に指数部が大きすぎる場合,返り値は実行環境によって変化します。無限大が使えるようなら無限大となります。ハードウェアによるオーバーフロー停止が起きるかどうかも環境次第です。zero)で丸めて変換し,その指数部も切り離して返します。返り値は必ず0.5<=abs(d)<1の範囲に収まる値(仮数部)になり,指数部の値は*expに格納されます。opがゼロであれば0.0が返り値となり,*expには0が格納されます。op)opの値を基数baseとする整数文字列に変換します。基数として使えるのは2から62,もしくは-2から-36までの値です。基数baseが2から36までの場合は,数字と小文字を一桁分として使用し,-2から-36までの場合は数字と大文字が使用されます。Allocation)を使って確保されたstrlen(str)+1バイト分の領域に格納され,NULL終端子付きの文字列として表現されます。2分のスペースがあれば,そこに返り値として格納されます。2バイトの冗長分はマイナス符号とNULL終端子用です。返り値の文字列へのポインタは,割り当てられた領域か,strへのポインタとなります。