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' 型への明示的な符号付き/符号なし変換