Next: , Previous: , Up: Integer Functions   [Index]


5.15 その他の関数

Function: int mpz_fits_ulong_p (const mpz_t op)
Function: int mpz_fits_slong_p (const mpz_t op)
Function: int mpz_fits_uint_p (const mpz_t op)
Function: int mpz_fits_sint_p (const mpz_t op)
Function: int mpz_fits_ushort_p (const mpz_t op)
Function: int mpz_fits_sshort_p (const mpz_t op)

opがそれぞれ,unsigned long int, signed long int, unsigned int, signed int, unsigned short int, signed short int型に合致する時のみ非ゼロを返します。

マクロ: int mpz_odd_p (const mpz_t op)
マクロ: int mpz_even_p (const mpz_t op)

それぞれ,opが偶数か奇数かを判断します。イエスの時は非ゼロ,ノーの時はゼロが返ります。このマクロは引数を複数回評価します。

Function: size_t mpz_sizeinbase (const mpz_t op, int base)

opのサイズを,基数baseの桁数換算で返します。baseは2以上62以下の整数です。opの符号は無視され,絶対値のみ使用します。結果は桁数そのものか,大きすぎる時は1を返します。baseが2のべき乗の時は結果は常に桁数そのものになります。opがゼロの時は常に1が返ってきます。

この関数は,opを文字列に変換する時にどのぐらいのスペースを要するのかを知りたい時に使います。確保されるサイズは,mpz_sizeinbase関数の返り値より2文字分だけ大きいのが普通で,これはマイナス符号とNULL終端子の部分になります。

mpz_sizeinbase(op,2)という使い方をすると,opの最大有効ビットを1からカウントしていきます。(ビット演算関数では0からカウントします。 (See Logical and Bit Manipulation Functions)