● fixed X - 関数リファレンス

符号無し除算

    int __stdcall   fixed_div(PFIXEDVAL px ,PFIXEDVAL py ,PFIXEDVAL premainder ,int width );

    int __stdcall    fixed_div32(PFIXEDVAL px ,unsigned long y ,unsigned long *pulong_remainder ,int width );

引数

引数名意味
px被除数が格納されている FIXEDVAL領域の先頭アドレス
py除数が格納されている FIXEDVAL領域の先頭アドレス
yunsigned long型の除数
premainder剰余を格納する FIXEDVAL領域の先頭アドレス
pulong_remainder剰余を格納する unsigned long型領域の先頭アドレス
widthpxpypremainder の指す FIXEDVAL値の数値幅(バイト単位)

戻り値

正常終了時は 1 、除数がゼロの場合は 0 を返します。

説明

x ÷ y を計算し、商をpx へ、剰余を premainder の指す領域へ格納します。
この関数は演算時の符号を考慮しません。単純に除算のみを行います。

関数fixed_div32 は、width の数値幅を持つ被除数 x を unsigned long型の除数 y で割り、商を px 、剰余を pulong_remainder の指す領域へ格納します。
関数fixed_div との違いは次の通りです。

引数 pxpypremainder の指す領域は、width が示す数値幅以上のサイズを持っている必要があり、width は 4 の倍数である必要があります。

引数 pxpypremainderpulong_remainder は、同じ領域を指定する事はできません。