SA0053:按位移位太大
在操作数按位移位(bit shift)的情况下,检测是否超出了操作数的数据类型宽度
理由:如果移位操作超出数据类型宽度,则为常数 0
生成。
如果旋转移位超过数据类型宽度,则难以读取。因此,应缩短旋转值。
重要性:高
例 63. 例子
PROGRAM PLC_PRG VAR byTemp1 : BYTE; wTemp2 : WORD; dwTemp3 : DWORD; lwTemp4 : LWORD; END_VAR
byTemp1 := SHR(byTemp1, BYTE#25); wTemp2 := SHL(wTemp2, BYTE#45); dwTemp3 := ROR(dwTemp3, BYTE#78); lwTemp4 := ROL(lwTemp4, BYTE#111);
输出在 留言 看法:
SA0053:按位移位太大