● 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領域の先頭アドレス |
y | unsigned long型の除数 |
premainder | 剰余を格納する FIXEDVAL領域の先頭アドレス |
pulong_remainder | 剰余を格納する unsigned long型領域の先頭アドレス |
width | px 、py 、premainder の指す FIXEDVAL値の数値幅(バイト単位) |
戻り値
正常終了時は 1 、除数がゼロの場合は 0 を返します。
説明
x ÷ y を計算し、商をpx へ、剰余を premainder の指す領域へ格納します。
この関数は演算時の符号を考慮しません。単純に除算のみを行います。
関数fixed_div32 は、width の数値幅を持つ被除数 x を unsigned long型の除数 y で割り、商を px 、剰余を pulong_remainder の指す領域へ格納します。
関数fixed_div との違いは次の通りです。
- 引数 y にはポインタではなく除数そのものを指定します。
- 剰余を格納する領域は FIXEDVAL型ではなく、unsigned long型になります。領域のサイズは 4 バイト以上必要です。
引数 px 、py 、premainder の指す領域は、width が示す数値幅以上のサイズを持っている必要があり、width は 4 の倍数である必要があります。
引数 px 、py 、premainder 、pulong_remainder は、同じ領域を指定する事はできません。