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

符号付き右シフト

    void __stdcall   fixedutil_signed_rshift(PFIXEDVAL pval ,int shift_cnt, int width ,PFIXEDVAL pworkarea );

引数

引数名意味
pval対象の数値が格納されている FIXEDVAL領域の先頭アドレス
shift_cntシフトビット数(ビット単位)
widthpval の指す FIXEDVAL値の数値幅(バイト単位)
pworkarea関数が使用するワークエリアを指す FIXEDVAL領域の先頭アドレス

ワークエリアに必要なサイズwidth と同じサイズ

戻り値

無し

説明

pval の指す内容を shift_cnt ビット分、右シフトします。
この関数は符号を考慮します。pval の指す値が正またはゼロの場合は関数fixed_rshift と同じ動作をしますが、負の場合は MSB を shift_cnt ビット分コピーします(sar 命令と同じです)。


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