● fixed X ユーティリティー - 関数リファレンス

符号付き除算

    int __stdcall   fixedutil_signed_div(PFIXEDVAL px ,PFIXEDVAL py, int width ,PFIXEDVAL pworkarea );

    int __stdcall   fixedutil_signed_div32(PFIXEDVAL px ,long y, int width ,PFIXEDVAL pworkarea );

引数

引数名意味
px被除数が格納されている FIXEDVAL領域の先頭アドレス
py除数が格納されている FIXEDVAL領域の先頭アドレス
ylong型の除数
widthpxpy の指す FIXEDVAL値の数値幅(バイト単位)
pworkarea関数が使用するワークエリアを指す FIXEDVAL領域の先頭アドレス

ワークエリアに必要なサイズfixedutil_signed_div の場合 width × 3 以上のサイズが必要
fixedutil_signed_div32 の場合 width と同じサイズが必要

戻り値

正常終了した場合は 1 、y にゼロを指定した場合はゼロを返します。

説明

x ÷ y を計算し、商を px の指す領域へ格納します(剰余は捨てられます)。
この関数は演算時の符号を考慮します。

関数fixedutil_signed_div32 は、width の数値幅を持つ被除数 x を long型の除数 y で割り、商を px の指す領域に格納します。引数 y がポインタではなく除数そのものであるという事以外は、関数fixedutil_signed_div と同じです。

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