Skip to main content

SA0134:显式有符号/无符号转换

检测从有符号数据类型到无符号数据类型的显式转换,反之亦然

理由:过度使用类型转换可能表明为变量选择了错误的数据类型。因此,有一些编程指南要求对数据类型转换提供明确的理由。

重要性:低

57. 例子
PROGRAM PLC_PRG
VAR
    byVar :BYTE;
    udiVar : UDINT;
    uliVar : ULINT;
    lwVar : LWORD;
    wVar : WORD;
    siVar   : SINT;
    iVar    : INT;
    diVar : DINT;
    liVar   : LINT;
END_VAR
liVar := ULINT_TO_LINT(uliVar);
udiVar := DINT_TO_UDINT(diVar);
siVar := BYTE_TO_SINT(byVar);
wVar := INT_TO_WORD(iVar);
lwVar := SINT_TO_LWORD(siVar);

输出在 留言 看法:

  • sa_icon_message.png SA0134:从类型“ULINT”到类型“LINT”的显式有符号/无符号转换

  • sa_icon_message.png SA0134:从类型“DINT”到类型“UDINT”的显式有符号/无符号转换

  • sa_icon_message.png SA0134:从类型“BYTE”到类型“SINT”的显式有符号/无符号转换

  • sa_icon_message.png SA0134:从“INT”类型到“WORD”类型的显式有符号/无符号转换

  • sa_icon_message.png SA0134:从“SINT”类型到“LWORD”类型的显式有符号/无符号转换