範囲外であるIはC(ここで関連するセクション)でこのコードをコンパイルするRVCTコンパイラを使用している:警告 - 整数演算結果がC
static void Test (void)
{
unsigned long regVal;
regVal |= (UINT32)( (0x1 << 31) |
(0x1 << 26) |
0x3E);
}
コードをコンパイルするとき、私は、次の警告警告を受けます: "#61-D:整数演算結果が範囲外です"。
警告を避けるために何を変更するかを理解したいと思います。
ありがとうございます!
最初に 'regVal'を初期化するか、' = '演算子の代わりに '='演算子だけを割り当てることを検討してください。 – patrickvacek
@patrickvacekそれは確かに有効な点ですが、私はそれがこの質問の要点ではないと考えています。 –
私はそのコンパイラに精通していませんが、通常、その変数はランダムな値をとります。0に初期化されることはありません。 | =を=に変更しないでください。 – oyvind