Skip to main content

SA0133: Conversioni esplicite di restringimento

Determina le conversioni eseguite in modo esplicito da un tipo di dati più grande a uno più piccolo.

Giustificazione: Un numero elevato di conversioni di tipo potrebbe indicare che sono stati scelti tipi di dati errati per le variabili. Per questo motivo esistono linee guida di programmazione che richiedono una giustificazione esplicita per le conversioni del tipo di dati.

Importanza: Bassa

Esempio 56. Esempio
PROGRAM SA0133
VAR
    siVar:SINT;
    diVar:DINT;
    liVar:LINT;
    byVar:BYTE;
    uiVar:UINT;
    dwVar:DWORD;
    lwVar:LWORD;
    rVar:REAL;
    lrVar:LREAL;
END_VAR
siVar := LINT_TO_SINT(liVar);    // SA0133
byVar := DINT_TO_BYTE(diVar);    // SA0133
siVar := DWORD_TO_SINT(dwVar);    // SA0133
uiVar := LREAL_TO_UINT(lrVar);    // SA0133
rVar := LWORD_TO_REAL(lwVar);    // SA0133

Uscita in Messaggi vista:

  • sa_icon_message.png SA0133: Conversione di restringimento esplicita dal tipo 'LINT' al tipo 'SINT'

  • sa_icon_message.png SA0133: Conversione di restringimento esplicita dal tipo 'DINT' al tipo 'BYTE'

  • sa_icon_message.png SA0133: Conversioni di restringimento esplicite dal tipo "DWORD" al tipo "SINT"

  • sa_icon_message.png SA0133: Conversione di restringimento esplicita dal tipo 'LREAL' al tipo 'UINT'

  • sa_icon_message.png SA0133: Conversione di restringimento esplicita dal tipo "LWORD" al tipo "REAL"