SA0053: spostamento bit a bit troppo grande
Quando si esegue lo spostamento bit per bit (spostamento dei bit) degli operandi, determina se la larghezza del tipo di dati dell'operando è stata superata.
Motivo: se un'operazione di spostamento va oltre la larghezza del tipo di dati, viene creata una costante 0
.
Se uno spostamento di rotazione supera la larghezza del tipo di dati, è difficile da leggere. Pertanto, il valore di rotazione dovrebbe essere ridotto.
Importanza: Alta
Esempio 63. Esempio
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);
Uscita in Messaggi vista:
SA0053: Spostamento bit per bit troppo grande