● fixed X ユーティリティー - 関数リファレンス
符号付き右シフト
void __stdcall fixedutil_signed_rshift(PFIXEDVAL pval ,int shift_cnt, int width ,PFIXEDVAL pworkarea );
引数
引数名 | 意味 |
pval | 対象の数値が格納されている FIXEDVAL領域の先頭アドレス |
shift_cnt | シフトビット数(ビット単位) |
width | pval の指す FIXEDVAL値の数値幅(バイト単位) |
pworkarea | 関数が使用するワークエリアを指す FIXEDVAL領域の先頭アドレス |
ワークエリアに必要なサイズ | … | width と同じサイズ |
戻り値
無し
説明
pval の指す内容を shift_cnt ビット分、右シフトします。
この関数は符号を考慮します。pval の指す値が正またはゼロの場合は関数fixed_rshift と同じ動作をしますが、負の場合は MSB を shift_cnt ビット分コピーします(sar 命令と同じです)。
引数 pval の指す領域は、width が示す数値幅以上のサイズを持っている必要があり、width は 4 の倍数である必要があります。