これに対する私の理解は次のとおりです。C では、この!
演算子は、ゼロ以外の値が指定された場合は 0 を返し、0 が指定された場合はゼロ以外の値を返します。
次の小さな C コードのスニペットがあるとします。
int y = 0;
int z = !y;
にはどのような値が入りz
ますか? 単に!0
1になる必要がありますか?システム依存ですか?C標準は、何が起こるべきかを規定していますか? 今夜、ビットごとの 2 の補数の整数操作を扱う宿題をしているときに、これらの質問に出くわしました。特定の問題が発生しましたが、なぜそれが機能するのか頭を悩ませています。情報をありがとう!